feat: 添加自动手机双清脚本,初始化存储库
This commit is contained in:
155
README.md
Normal file
155
README.md
Normal file
@@ -0,0 +1,155 @@
|
||||
# 自动手机双清脚本
|
||||
|
||||
一个模块化、易于维护和扩展的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联系。
|
||||
Reference in New Issue
Block a user