adb 是一個可以用來與 Android 裝置 (實機或模擬器) 溝通的工具,安裝好 Android Studio ,就可以使用了,它被放在 Android System Developer’s Kit 的 platform-tools 目錄中,目錄的路徑可以在 Project Structure 的 SDK Location 來找到他,在我的機器上是 C:\Users\Kirin\AppData\Local\Android\Sdk。
一般而言,我們會透過 IDE 來叫用 adb 相關的功能,但是有些狀況下,在指令列執行比較方便,你可以切換到 platform-tools 目錄下執行,或是把路徑加到 PATH 環境變數中,就可以在任意目錄中執行,這在檔案的傳輸時很好用。
adb 指令會用 5037 port 連接一個在背景執行的 adb 伺服器 (adb daemon, adbd) ,並透過 adbd 與 Android 裝置溝通。
Table of Contents
常用的 adb 指令
# 列出目前所有連接的裝置
adb devices
# 在裝置上執行 shell (在只有一台連接的狀況)
adb shell
# 在 emulator-5554 這台裝置上執行 shell
adb -s emulator-5554 shell
# 停止 adb daemon
adb kill-server
# 啟動 adb daemon
adb start-server
# 從 logcat 取得輸出
adb logcat
# 將裝置上的檔案拉回本機
adb pull /sdcard/Music/1.mp3 music.mp3
# 將本機的檔案推到連接的裝置上
adb push dir.txt /sdcard
常用的 shell 指令
pm – 套件管理工具
# 列出所有已安裝的 app
pm list packages
# 尋找 app 被安裝在那裏
pm path app.kirin.tomatotimer
# 顯示其他選項
pm -help
ps – 顯示程序狀態
ps
dexdump – 顯示 APK 資訊
dexdump -d /data/app/app.kirin.tomatotimer/base.apk
lsof – 列出程序打開的檔案與其他連結
# 列出 id 為 1862 的程序正在做什麼事
lsof -p 1862
screencap – 擷取螢幕畫面
# 將目前的螢幕畫面存入 /sdcard/screenshot.png
screencap -p /sdcard/screenshot.png
top – 顯示目前的程序
# 顯示前 5 名繁忙的程序
top -m 5
Comments