一、ADB 的工作原理
1.1 ADB 概念
- ADB (Android Debug Bridge):Android 調試橋,是開發/測試 Android 應用必備的調試工具。
- 作用:通過 電腦終端命令 操作 安卓手機/模擬器。
1.2 ADB 構成與原理
ADB 由三部分組成:
- Client 端:運行在開發電腦,發送 adb 命令。
- Daemon 守護進程:運行在調試設備(手機/模擬器),執行命令。
- Server 端:運行在開發電腦,管理 Client 與 Daemon 之間的通信。
👉 總結:
PC 端(Client + Server)發出指令 → 手機/模擬器(Daemon)接收并執行。
二、ADB 常用命令
2.1 獲取包名和界面名(Activity)
應用場景:自動化測試中,需要指定“哪個應用的哪個界面”。
- 打開目標應用(如“設置”)。
- 執行命令:
-
Mac/Linux:
adb shell dumpsys window windows | grep mFocusedApp
-
Windows:
adb shell dumpsys window windows | findstr mFocusedApp
示例輸出:
ActivityRecord{2928d4fc u0 com.android.settings/.Settings t1127}
- 包名:
com.android.settings
- 界面名(啟動名):
.Settings
2.2 文件傳輸
應用場景:拷貝數據庫、日志文件,或上傳測試數據。
-
電腦 → 手機
adb push 電腦文件路徑 手機文件路徑
示例:
adb push C:\Users\hm\Desktop\a.txt /sdcard
👉 把
a.txt
發送到手機 SD 卡。 -
手機 → 電腦
adb pull 手機文件路徑 電腦文件路徑
示例:
adb pull /sdcard/a.txt C:\Users\hm\Desktop
👉 把手機里的
a.txt
拉取到電腦桌面。
2.3 獲取 APP 啟動時間
應用場景:測試應用啟動性能。
命令:
adb shell am start -W 包名/啟動名
示例:
adb shell am start -W com.android.settings/.Settings
結果解釋:
- ThisTime:界面啟動耗時(毫秒)。
- TotalTime:應用自身啟動耗時。
- WaitTime:系統加應用總耗時。
👉 測試標準:一般啟動時間不超過同類軟件的 2 倍。
2.4 獲取手機日志
應用場景:定位 bug,把日志發給開發。
步驟:
-
打開目標應用。
-
輸入命令:
adb logcat
-
執行操作觸發 bug。
-
終端會輸出日志,復制保存即可。
三、ADB 其他常用命令(了解)
命令 | 說明 |
---|---|
adb install 路徑/xx.apk | 安裝 app 到手機 |
adb uninstall 包名 | 卸載手機上的 app |
adb devices | 查看已連接設備及設備號 |
adb shell | 進入手機 Linux 命令行 |
adb start-server | 啟動 adb 服務端 |
adb kill-server | 停止 adb 服務端 |
adb --help | 查看 adb 幫助 |