Android Note:常用 Android Debug Bridge (adb) 功能
我常用的 adb 功能。
設定 Path 環境變數
Windows
Android Studio 隨附的 adb 所在路徑:
C:\Users\username\AppData\Local\Android\Sdk\platform-tools
控制台\系統及安全性\系統、進階系統設定、環境變數、系統變數:Path:瀏覽:找到上述路徑、確定。
打開 command line tool 輸入:adb 跳出資訊表示設置成功,之後在任何資料夾都能直接呼叫 adb;若未設置 Path 環境變數,要使用 adb 必須進到存放 adb 的路徑。
TCP/IP 連接設備
1 | $ adb connect device_ip_address[:PORT] |
default port=5555。
切斷 TCP/IP 連接
1 | $ adb disconnect [device_ip_address[:PORT]] |
不指定會切斷所有連接。
列出所有連接設備
1 | $ adb devices [-l] |
預設會列出 adb 給這些設備指定的 serial number 與 state。
加上 -l
(long output) 會印出設備詳細資訊:device product、model、device、transport_id。
指定設備下指令
若連接了多台設備,要先知道設備的 serial number 才能指定個別設備下指令。
1 | $ adb -s serial_number adb_command |
下載 Logcat
即使機器使用當下沒有連接監視設備,事後接上機器也能下載。
及時寫在 command line:
1 | adb logcat |
並寫入特定檔案至當前資料夾:
1 | adb logcat -d > crash.txt |
從特定位置擷取Logcat:
1 | adb logcat > schedule.txt |
結束擷取:Ctrl
+ C
下載 Bugreport
1 | adb bugreport |
要回報錯誤報告給開發商時才要下載此檔案,回報時需使用.zip檔案格式。
安裝 App
1 | $ adb install path_to_apk |
文件傳輸
設備複製到本地
1 | $ adb pull remote_path local_path |
本地複製到設備
1 | $ adb push local_path remote_path |
path 可以是文件或目錄。
重啟設備
1 | $ adb reboot |
root 權限
以 root 權限重啟 adbd
1 | $ adb root |
以非 root 權限重啟 adbd
1 | $ adb unroot |
停止 adb server
1 | $ adb kill-server |
會斷絕所有連接,需要重新連,通常是 adb 出問題時才會用到這個指令。
下 shell 指令
基本上 Android 的 shell 指令是用指令操作 Android 設備時的精華。
1 | $ adb shell [shell_command] |
Android 本質是 Linux 核心擴增的框架,因此能對其使用 Unix 指令。
不直接下指令可以進入交互式 shell,可以使用 Ctrl
+ D
或輸入 exit
離開。
模擬按鍵輸入
1 | $ input keyevent keycode |
KeyEvent
activity manager
算是最重要的 Android Shell 指令,可以操作 Android 主要元件。
1 | $ am am_command |
啟動 Activity
1 | $ am start [options] intent |
啟動 Service
1 | $ am start [options] intent |
啟動 Broadcast
1 | $ am broadcast [options] intent |
package manager
管理 App 的。
1 | $ pm pm_command |
參考資料
command: adb help
Android Debug Bridge (adb)
关于 adb 命令你所需要知道的