# 自动手机双清脚本 一个模块化、易于维护和扩展的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联系。