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:
hailin 2026-01-26 23:51:13 -08:00
parent 05c6ab3dc4
commit 20b5593a0b
2 changed files with 269 additions and 0 deletions

View File

@ -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. **查看历史日志**: 使用保存日志到文件

View File

@ -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