From 20b5593a0be3348133cb576783307778f5e96bab Mon Sep 17 00:00:00 2001 From: hailin Date: Mon, 26 Jan 2026 23:51:13 -0800 Subject: [PATCH] =?UTF-8?q?feat(android):=20=E6=B7=BB=E5=8A=A0=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E7=BC=96=E8=AF=91=E5=AE=89=E8=A3=85=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加快速调试工具: ## 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 --- .../QUICK_DEBUG_COMMANDS.md | 173 ++++++++++++++++++ .../build-install-debug.bat | 96 ++++++++++ 2 files changed, 269 insertions(+) create mode 100644 backend/mpc-system/services/service-party-android/QUICK_DEBUG_COMMANDS.md create mode 100644 backend/mpc-system/services/service-party-android/build-install-debug.bat diff --git a/backend/mpc-system/services/service-party-android/QUICK_DEBUG_COMMANDS.md b/backend/mpc-system/services/service-party-android/QUICK_DEBUG_COMMANDS.md new file mode 100644 index 00000000..4366e31b --- /dev/null +++ b/backend/mpc-system/services/service-party-android/QUICK_DEBUG_COMMANDS.md @@ -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. **查看历史日志**: 使用保存日志到文件 diff --git a/backend/mpc-system/services/service-party-android/build-install-debug.bat b/backend/mpc-system/services/service-party-android/build-install-debug.bat new file mode 100644 index 00000000..5135b153 --- /dev/null +++ b/backend/mpc-system/services/service-party-android/build-install-debug.bat @@ -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