feat(android): 添加一键编译安装调试脚本
添加快速调试工具: ## 1. build-install-debug.bat - 一键脚本 🚀 自动执行完整流程: 1. 编译 Debug APK (gradlew assembleDebug) 2. 检查设备连接 (adb devices) 3. 卸载旧版本 (避免签名冲突) 4. 安装新 APK (adb install) 5. 启动应用 (am start) 6. 清除旧日志 (adb logcat -c) 7. 实时监控关键日志 特性: - ✅ 彩色输出(绿色=成功,红色=错误,黄色=进度) - ✅ 每步错误检查,失败立即停止 - ✅ 自动过滤关键日志标签 - ✅ 用户友好的进度提示 ## 2. QUICK_DEBUG_COMMANDS.md - 调试命令大全 包含: - PowerShell 单条命令版本 - CMD 单条命令版本 - 分步执行命令 - 日志保存方法 - 快速重启命令 - 10+ 调试技巧 - 常见问题解决方案 ## 使用方法 最简单:双击 build-install-debug.bat 或者:复制 QUICK_DEBUG_COMMANDS.md 中的命令执行 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
05c6ab3dc4
commit
20b5593a0b
|
|
@ -0,0 +1,173 @@
|
|||
# 快速调试命令
|
||||
|
||||
## 一键编译安装启动(推荐)
|
||||
|
||||
直接双击运行:
|
||||
```
|
||||
build-install-debug.bat
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 单条命令版本(PowerShell)
|
||||
|
||||
在 PowerShell 中执行:
|
||||
```powershell
|
||||
cd C:\Users\dong\Desktop\rwadurian\backend\mpc-system\services\service-party-android; .\gradlew.bat assembleDebug --no-daemon; if ($?) { adb uninstall com.durian.tssparty 2>$null; adb install app\build\outputs\apk\debug\app-debug.apk; if ($?) { adb shell am start -n com.durian.tssparty/.MainActivity; adb logcat -c; Write-Host "`n[SUCCESS] 应用已启动,开始监控日志...`n" -ForegroundColor Green; adb logcat -v time MainViewModel:D TssRepository:D GrpcClient:D TssNativeBridge:D AndroidRuntime:E *:S } else { Write-Host "[ERROR] 安装失败!" -ForegroundColor Red } } else { Write-Host "[ERROR] 编译失败!" -ForegroundColor Red }
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 单条命令版本(CMD)
|
||||
|
||||
在 CMD 中执行(注意:日志需要在另一个窗口查看):
|
||||
```cmd
|
||||
cd C:\Users\dong\Desktop\rwadurian\backend\mpc-system\services\service-party-android && gradlew.bat assembleDebug --no-daemon && adb uninstall com.durian.tssparty 2>nul && adb install app\build\outputs\apk\debug\app-debug.apk && adb shell am start -n com.durian.tssparty/.MainActivity && adb logcat -c && echo 应用已启动!现在打开另一个终端运行: adb logcat -v time MainViewModel:D TssRepository:D GrpcClient:D *:S
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 分步执行(更清晰)
|
||||
|
||||
### 终端 1: 编译安装启动
|
||||
|
||||
```cmd
|
||||
cd C:\Users\dong\Desktop\rwadurian\backend\mpc-system\services\service-party-android
|
||||
|
||||
:: 1. 编译
|
||||
gradlew.bat assembleDebug --no-daemon
|
||||
|
||||
:: 2. 卸载旧版本
|
||||
adb uninstall com.durian.tssparty
|
||||
|
||||
:: 3. 安装
|
||||
adb install app\build\outputs\apk\debug\app-debug.apk
|
||||
|
||||
:: 4. 启动
|
||||
adb shell am start -n com.durian.tssparty/.MainActivity
|
||||
|
||||
:: 5. 清除旧日志
|
||||
adb logcat -c
|
||||
```
|
||||
|
||||
### 终端 2: 查看日志
|
||||
|
||||
```cmd
|
||||
:: 实时查看关键日志
|
||||
adb logcat -v time MainViewModel:D TssRepository:D GrpcClient:D TssNativeBridge:D AndroidRuntime:E *:S
|
||||
```
|
||||
|
||||
或者查看所有日志并过滤:
|
||||
```cmd
|
||||
adb logcat -v time | findstr /C:"MainViewModel" /C:"TssRepository" /C:"GrpcClient" /C:"Exception" /C:"Error"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 保存日志到文件
|
||||
|
||||
```cmd
|
||||
:: 清除旧日志
|
||||
adb logcat -c
|
||||
|
||||
:: 开始录制日志(在后台)
|
||||
start /B adb logcat -v time > android_debug_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%.log
|
||||
|
||||
:: 操作应用(重现问题)
|
||||
|
||||
:: 停止录制(关闭 adb logcat 进程)
|
||||
taskkill /F /IM adb.exe
|
||||
|
||||
:: 查看日志文件
|
||||
dir android_debug_*.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 快速重启应用(不重新编译)
|
||||
|
||||
```cmd
|
||||
adb shell am force-stop com.durian.tssparty && adb shell am start -n com.durian.tssparty/.MainActivity
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 调试技巧
|
||||
|
||||
### 1. 查看应用是否在运行
|
||||
```cmd
|
||||
adb shell ps | findstr tssparty
|
||||
```
|
||||
|
||||
### 2. 查看应用版本信息
|
||||
```cmd
|
||||
adb shell dumpsys package com.durian.tssparty | findstr version
|
||||
```
|
||||
|
||||
### 3. 清除应用数据(重置应用)
|
||||
```cmd
|
||||
adb shell pm clear com.durian.tssparty
|
||||
```
|
||||
|
||||
### 4. 查看应用崩溃日志
|
||||
```cmd
|
||||
adb logcat -v time AndroidRuntime:E *:S
|
||||
```
|
||||
|
||||
### 5. 查看特定标签日志
|
||||
```cmd
|
||||
adb logcat -v time -s MainViewModel
|
||||
```
|
||||
|
||||
### 6. 搜索日志中的关键词
|
||||
```cmd
|
||||
adb logcat -v time | findstr "session_started"
|
||||
adb logcat -v time | findstr "Exception"
|
||||
adb logcat -v time | findstr "Error"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 问题1: adb: command not found
|
||||
|
||||
**解决**: 添加 Android SDK platform-tools 到 PATH
|
||||
```cmd
|
||||
set PATH=%PATH%;C:\Users\dong\AppData\Local\Android\Sdk\platform-tools
|
||||
```
|
||||
|
||||
### 问题2: INSTALL_FAILED_UPDATE_INCOMPATIBLE
|
||||
|
||||
**解决**: 卸载旧版本
|
||||
```cmd
|
||||
adb uninstall com.durian.tssparty
|
||||
```
|
||||
|
||||
### 问题3: 设备未授权 (device unauthorized)
|
||||
|
||||
**解决**:
|
||||
1. 手机上会弹出"允许USB调试"提示,点击"允许"
|
||||
2. 如果没弹出,重新连接USB并执行:
|
||||
```cmd
|
||||
adb kill-server
|
||||
adb start-server
|
||||
adb devices
|
||||
```
|
||||
|
||||
### 问题4: 多个设备连接
|
||||
|
||||
**解决**: 指定设备
|
||||
```cmd
|
||||
adb devices
|
||||
adb -s <设备序列号> install app\build\outputs\apk\debug\app-debug.apk
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 推荐工作流
|
||||
|
||||
1. **首次运行**: 使用 `build-install-debug.bat`
|
||||
2. **代码修改后**: 使用 `build-install-debug.bat`
|
||||
3. **仅重启应用**: 使用快速重启命令
|
||||
4. **查看历史日志**: 使用保存日志到文件
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
echo ========================================
|
||||
echo 编译、安装、启动、调试 一键脚本
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
:: 设置颜色(如果支持)
|
||||
set "GREEN=[92m"
|
||||
set "RED=[91m"
|
||||
set "YELLOW=[93m"
|
||||
set "RESET=[0m"
|
||||
|
||||
:: 步骤1: 编译 Debug APK
|
||||
echo %YELLOW%[1/5] 正在编译 Debug APK...%RESET%
|
||||
call gradlew.bat assembleDebug --no-daemon
|
||||
if %errorlevel% neq 0 (
|
||||
echo %RED%[ERROR] 编译失败!%RESET%
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo %GREEN%[SUCCESS] 编译完成!%RESET%
|
||||
echo.
|
||||
|
||||
:: 步骤2: 检查设备连接
|
||||
echo %YELLOW%[2/5] 检查设备连接...%RESET%
|
||||
adb devices
|
||||
adb devices | find "device" | find /v "List" >nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo %RED%[ERROR] 未检测到设备!请连接手机并启用USB调试。%RESET%
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo %GREEN%[SUCCESS] 设备已连接!%RESET%
|
||||
echo.
|
||||
|
||||
:: 步骤3: 卸载旧版本(避免签名冲突)
|
||||
echo %YELLOW%[3/5] 卸载旧版本(如果存在)...%RESET%
|
||||
adb uninstall com.durian.tssparty 2>nul
|
||||
echo %GREEN%完成!%RESET%
|
||||
echo.
|
||||
|
||||
:: 步骤4: 安装 APK
|
||||
echo %YELLOW%[4/5] 正在安装 APK...%RESET%
|
||||
adb install app\build\outputs\apk\debug\app-debug.apk
|
||||
if %errorlevel% neq 0 (
|
||||
echo %RED%[ERROR] 安装失败!%RESET%
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo %GREEN%[SUCCESS] 安装完成!%RESET%
|
||||
echo.
|
||||
|
||||
:: 步骤5: 启动应用
|
||||
echo %YELLOW%[5/5] 正在启动应用...%RESET%
|
||||
adb shell am start -n com.durian.tssparty/.MainActivity
|
||||
if %errorlevel% neq 0 (
|
||||
echo %RED%[ERROR] 启动失败!%RESET%
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo %GREEN%[SUCCESS] 应用已启动!%RESET%
|
||||
echo.
|
||||
|
||||
:: 清除旧日志
|
||||
echo %YELLOW%清除旧日志...%RESET%
|
||||
adb logcat -c
|
||||
echo.
|
||||
|
||||
:: 提示用户
|
||||
echo ========================================
|
||||
echo 应用已成功启动!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo %GREEN%现在开始监控日志...%RESET%
|
||||
echo.
|
||||
echo 关键日志标签:
|
||||
echo - MainViewModel (ViewModel 层)
|
||||
echo - TssRepository (Repository 层)
|
||||
echo - GrpcClient (网络通信)
|
||||
echo - TssNativeBridge (TSS 原生库)
|
||||
echo - AndroidRuntime (崩溃日志)
|
||||
echo.
|
||||
echo %YELLOW%【提示】按 Ctrl+C 可停止日志监控%RESET%
|
||||
echo.
|
||||
timeout /t 2 /nobreak >nul
|
||||
|
||||
:: 开始监控日志(带关键词高亮)
|
||||
adb logcat -v time MainViewModel:D TssRepository:D GrpcClient:D TssNativeBridge:D AndroidRuntime:E *:S
|
||||
|
||||
:: 如果用户停止了日志监控
|
||||
echo.
|
||||
echo %YELLOW%日志监控已停止。%RESET%
|
||||
echo.
|
||||
pause
|
||||
Loading…
Reference in New Issue