187f4d90ea43addbdb65c6b3498c0f368d0440f0
自动手机双清脚本
一个模块化、易于维护和扩展的Python脚本,用于自动执行Android手机的双清操作。
功能特性
- ✅ 模块化设计:遵循SOLID原则,代码结构清晰,便于维护和扩展
- ✅ 设备检测:自动检测已连接的Android设备
- ✅ Recovery模式:自动重启设备到Recovery模式
- ✅ 双清操作:自动执行清除数据/恢复出厂设置和清除缓存分区
- ✅ 日志记录:详细的日志记录,便于问题排查
- ✅ 可配置:通过配置文件轻松调整参数
- ✅ 多设备支持:支持同时连接多个设备时选择操作目标
环境要求
- Windows 10/11
- Python 3.10+
- Android SDK Platform Tools(ADB工具)
- 已开启USB调试的Android设备
安装步骤
1. 安装Python
从Python官网下载并安装Python 3.10或更高版本。
2. 安装ADB工具
- 下载Android SDK Platform Tools
- 解压到任意目录(例如:
C:\platform-tools) - 将该目录添加到系统环境变量PATH中
3. 配置设备
- 在Android设备上开启开发者选项
- 开启USB调试
- 允许USB调试授权
使用方法
基本使用
python main.py
命令行参数(可选)
# 指定ADB路径
ADB_PATH="C:\platform-tools\adb.exe" python main.py
# 调整日志级别
LOG_LEVEL="DEBUG" python main.py
操作流程
- 脚本启动后会自动检测已连接的设备
- 选择要操作的设备
- 确认是否开始双清操作
- 脚本自动重启设备到Recovery模式
- 执行清除数据和清除缓存操作
- 自动重启设备
项目结构
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 | 操作前确认 |
维护指南
添加新功能
- 遵循模块化原则:每个功能模块独立
- 使用配置文件:将可配置参数添加到config.py
- 添加日志:在关键步骤添加日志记录
- 错误处理:完善异常处理机制
扩展操作
可以通过继承或扩展现有类来添加新功能:
# 示例:添加新的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联系。
Description
Languages
Python
100%