feat: 添加自动手机双清脚本,初始化存储库

This commit is contained in:
2025-12-22 23:32:37 +08:00
commit 187f4d90ea
12 changed files with 628 additions and 0 deletions

155
README.md Normal file
View File

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