Files
auto2Clean/README.md

155 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 自动手机双清脚本
一个模块化、易于维护和扩展的Python脚本用于自动执行Android手机的双清操作。
## 功能特性
-**模块化设计**遵循SOLID原则代码结构清晰便于维护和扩展
-**设备检测**自动检测已连接的Android设备
-**Recovery模式**自动重启设备到Recovery模式
-**双清操作**:自动执行清除数据/恢复出厂设置和清除缓存分区
-**日志记录**:详细的日志记录,便于问题排查
-**可配置**:通过配置文件轻松调整参数
-**多设备支持**:支持同时连接多个设备时选择操作目标
## 环境要求
- Windows 10/11
- Python 3.10+
- Android SDK Platform ToolsADB工具
- 已开启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联系。