155 lines
4.1 KiB
Markdown
155 lines
4.1 KiB
Markdown
# 自动手机双清脚本
|
||
|
||
一个模块化、易于维护和扩展的Python脚本,用于自动执行Android手机的双清操作。
|
||
|
||
## 功能特性
|
||
|
||
- ✅ **模块化设计**:遵循SOLID原则,代码结构清晰,便于维护和扩展
|
||
- ✅ **设备检测**:自动检测已连接的Android设备
|
||
- ✅ **Recovery模式**:自动重启设备到Recovery模式
|
||
- ✅ **双清操作**:自动执行清除数据/恢复出厂设置和清除缓存分区
|
||
- ✅ **日志记录**:详细的日志记录,便于问题排查
|
||
- ✅ **可配置**:通过配置文件轻松调整参数
|
||
- ✅ **多设备支持**:支持同时连接多个设备时选择操作目标
|
||
|
||
## 环境要求
|
||
|
||
- Windows 10/11
|
||
- Python 3.10+
|
||
- Android SDK Platform Tools(ADB工具)
|
||
- 已开启USB调试的Android设备
|
||
|
||
## 安装步骤
|
||
|
||
### 1. 安装Python
|
||
|
||
从[Python官网](https://www.python.org/downloads/windows/)下载并安装Python 3.10或更高版本。
|
||
|
||
### 2. 安装ADB工具
|
||
|
||
1. 下载[Android SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools)
|
||
2. 解压到任意目录(例如:`C:\platform-tools`)
|
||
3. 将该目录添加到系统环境变量PATH中
|
||
|
||
### 3. 配置设备
|
||
|
||
1. 在Android设备上开启开发者选项
|
||
2. 开启USB调试
|
||
3. 允许USB调试授权
|
||
|
||
## 使用方法
|
||
|
||
### 基本使用
|
||
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
### 命令行参数(可选)
|
||
|
||
```bash
|
||
# 指定ADB路径
|
||
ADB_PATH="C:\platform-tools\adb.exe" python main.py
|
||
|
||
# 调整日志级别
|
||
LOG_LEVEL="DEBUG" python main.py
|
||
```
|
||
|
||
### 操作流程
|
||
|
||
1. 脚本启动后会自动检测已连接的设备
|
||
2. 选择要操作的设备
|
||
3. 确认是否开始双清操作
|
||
4. 脚本自动重启设备到Recovery模式
|
||
5. 执行清除数据和清除缓存操作
|
||
6. 自动重启设备
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
auto2Clean/
|
||
├── main.py # 主脚本文件
|
||
├── config.py # 配置文件
|
||
├── logger_setup.py # 日志配置模块
|
||
├── auto_clean.log # 日志文件(自动生成)
|
||
└── README.md # 项目说明文档
|
||
```
|
||
|
||
## 配置说明
|
||
|
||
### 主要配置项(config.py)
|
||
|
||
| 配置项 | 类型 | 默认值 | 说明 |
|
||
|--------|------|--------|------|
|
||
| ADB_PATH | str | "adb" | ADB工具路径 |
|
||
| ADB_TIMEOUT | int | 30 | ADB命令超时时间(秒) |
|
||
| RECOVERY_WAIT_TIMEOUT | int | 60 | 等待Recovery模式超时时间(秒) |
|
||
| LOG_LEVEL | str | "INFO" | 日志级别 |
|
||
| LOG_FILE | str | "auto_clean.log" | 日志文件路径 |
|
||
| AUTO_REBOOT_AFTER_CLEAN | bool | True | 双清完成后自动重启 |
|
||
| CONFIRM_BEFORE_OPERATION | bool | True | 操作前确认 |
|
||
|
||
## 维护指南
|
||
|
||
### 添加新功能
|
||
|
||
1. **遵循模块化原则**:每个功能模块独立
|
||
2. **使用配置文件**:将可配置参数添加到config.py
|
||
3. **添加日志**:在关键步骤添加日志记录
|
||
4. **错误处理**:完善异常处理机制
|
||
|
||
### 扩展操作
|
||
|
||
可以通过继承或扩展现有类来添加新功能:
|
||
|
||
```python
|
||
# 示例:添加新的Recovery操作
|
||
class ExtendedRecoveryOperations(RecoveryOperations):
|
||
def wipe_dalvik_cache(self, serial: Optional[str] = None) -> None:
|
||
"""清除Dalvik缓存"""
|
||
logger.info("开始清除Dalvik缓存...")
|
||
command = ["shell", "wipe dalvik-cache"]
|
||
if serial:
|
||
command = ["-s", serial] + command
|
||
|
||
self.adb_tool.run_command(command)
|
||
time.sleep(15)
|
||
```
|
||
|
||
### 常见问题
|
||
|
||
**Q: 检测不到设备**
|
||
- 确保USB调试已开启
|
||
- 确保已安装设备驱动
|
||
- 尝试重新插拔USB线
|
||
- 检查ADB是否正常工作(`adb devices`)
|
||
|
||
**Q: 无法进入Recovery模式**
|
||
- 确保设备已解锁Bootloader
|
||
- 检查Recovery模式是否可用
|
||
- 尝试手动进入Recovery模式验证
|
||
|
||
**Q: 双清操作失败**
|
||
- 检查Recovery模式是否支持ADB命令
|
||
- 确保设备已正确进入Recovery模式
|
||
- 查看日志文件获取详细错误信息
|
||
|
||
## 版本历史
|
||
|
||
### v1.0.0
|
||
- 初始版本
|
||
- 支持基本双清操作
|
||
- 模块化设计
|
||
- 日志记录功能
|
||
|
||
## 许可证
|
||
|
||
MIT License
|
||
|
||
## 贡献
|
||
|
||
欢迎提交Issue和Pull Request来改进这个项目。
|
||
|
||
## 联系方式
|
||
|
||
如有问题或建议,请通过Issue联系。 |