一個指令一頁:語法、值得複製的範例、逐欄說明輸出代表什麼,以及連到本站那個會幫你執行它的工具。
從你自己的機器上就在前面加 adb shell,在裝置的 shell 裡就直接打。
套件(pm)
- pm list packages
列出已安裝的套件,也能一次帶出 APK 路徑、uid、版本碼與安裝來源。
- pm path
印出組成某個已安裝套件的 APK 檔絕對路徑。
- pm uninstall破壞性
移除套件,或只針對一個 Android 使用者移除——這是不用 root 也能處理掉預載 app 的方法。
- pm disable-user會改變裝置
在不移除的前提下,把套件對某個 Android 使用者關掉——比解除安裝安全,而且確定能還原。
- pm clear破壞性
清除某個 app 的資料——在 Android 13 之後也可以只清快取。
- pm trim-caches
要求系統一直丟掉快取檔案,直到剩下你指定的空間為止。
- pm install會改變裝置
安裝一個已經在裝置上的 APK,也就是 `adb install` 底層在做的事。
- pm install-create會改變裝置
開一個安裝工作階段,讓 base 與它的 split 作為一個不可分割的整體一起安裝。
活動與 intent(am)
系統服務(dumpsys)
- dumpsys battery
電池服務目前的狀態:電量、充電狀態、健康度、電壓與溫度。
- dumpsys diskstats
每個分割區的剩餘空間、一次磁碟寫入延遲的實測,以及一份快取起來的各 app 空間用量。
- dumpsys thermalservice
手機是不是正在因為溫度而降速,以及硬體層回報的每一個溫區,單位是攝氏。
- dumpsys sensorservice
手機上的每一個感測器,含廠商、type、取樣率與批次能力,以及一段近期讀數的緩衝。
- dumpsys meminfo
哪些行程最吃記憶體,量的是 PSS(按比例分攤的用量)。
- dumpsys package
套件管理員知道的一切:版本、路徑、flags、安裝來源,以及每個使用者的狀態。
- dumpsys activity activities
現在哪個 app 在前景,以及它背後的 task 與 stack 結構。
- dumpsys dropbox
平台用來存放當機、ANR 與 tombstone 的環形緩衝——這是不用 root 讀 ANR 追蹤的方法。