adb 命令小結
Android 除錯橋 (adb)
Android 除錯橋 (adb) 是一種功能多樣的命令列工具,可讓您與裝置進行通訊。adb 命令可用於執行各種裝置操作(例如安裝和除錯應用),並提供對 Unix shell(可用來在裝置上執行各種命令)的訪問許可權。
在裝置上啟用 adb 除錯
要在通過 USB 連線的裝置上使用 adb,您必須在裝置的系統設定中啟用USB 除錯(位於開發者選項下)。
在搭載 Android 4.2 及更高版本的裝置上,“開發者選項”螢幕預設情況下處於隱藏狀態。如需將其顯示出來,請依次轉到設定 > 關於手機,然後點按版本號七次(注意不同的裝置開啟方法可能不同)。返回上一螢幕,在底部可以找到開發者選項
adb的下載安裝
官方下載平臺,請點這裡
一、軟體安裝與解除安裝
檢視連結的裝置:
adb devices
查手機包名
adb shell pm list packages -3 查系統除了第三方應用包名
adb shell pm list packages -s 查系統應用所有包名
adb shell pm list packages 查手機裝的所有app包名
將當前手機視窗上正在使用的App包名和Activity名稱顯示出來(例如進入到樂讀某個頁面)
adb shell dumpsys activity | grep "mResumedActivity"
安裝app(樂讀為例):
adb install apk 地址/電腦也可以直接拖過去自動生成地址
小米手機可能會失敗並且提示 Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]
解決方案:
進去開發者選項開啟USB除錯和USB安裝,手機出現彈框時點選允許安裝
解除安裝app:
adb uninstall 包名(樂讀為例)
二、日誌服務
1.檢視日誌
adb logcat
2.退出日誌介面
ctrl+c
3.清空日誌資訊:
adb logcat -c
4.過濾器查日誌:
adb logcat [選項] [過濾項],其中 選項 和 過濾項是可選的
(1) 選項解析
"-s"選項 : 設定輸出日誌的標籤, 只顯示該標籤的日誌;
"-f"選項 : 將日誌輸出到檔案, 預設輸出到標準輸出流中, -f 引數執行不成功;
"-r"選項 : 按照每千位元組輸出日誌, 需要 -f 引數, 不過這個命令沒有執行成功;
"-n"選項 : 設定日誌輸出的最大數目, 需要 -r 引數, 這個執行 感覺 跟 adb logcat 效果一樣;
"-v"選項 : 設定日誌的輸出格式, 注意只能設定一項;
"-c"選項 : 清空所有的日誌快取資訊;
"-d"選項 : 將快取的日誌輸出到螢幕上, 並且不會阻塞;
"-t"選項 : 輸出最近的幾行日誌, 輸出完退出, 不阻塞;
"-g"選項 : 檢視日誌緩衝區資訊;
"-b"選項 : 載入一個日誌緩衝區, 預設是 main, 下面詳解;
"-B"選項 : 以二進位制形式輸出日誌;
(2)過濾日誌級別
優先順序是下面的字元,順序是從低到高:
V — 明細 verbose(最低優先順序)
D — 除錯 debug
I — 資訊 info
W — 警告 warn
E — 錯誤 error
F — 嚴重錯誤 fatal
S — 無記載 silent
詳情請檢視這裡
5.常用日誌過濾
(1)adb logcat -s 級別標籤
(2)輸出日誌到指定的檔案:
adb logcat [選項][過濾項]>指定的檔案
(3)輸出指定App日誌adb logcat [過濾項]:find “包名”:
三、螢幕操控以及複製操作
1.截圖到手機:
adb shell screencap /路徑 /檔名
2.錄製手機視訊adb shell screenrecord /sdcard/demo.mp4
如需開始錄製裝置螢幕,請執行screenrecord命令以錄製視訊。然後,執行pull命令以將視訊從裝置下載到主機. 按 Ctrl + C 鍵(在 Mac 上,按 Command + C 鍵)可停止螢幕錄製;如果不手動停止,到三分鐘或--time-limit設定的時間限制時,錄製將會自動停止
3.拷貝圖片或者檔案到電腦上:
adb pull 手機檔案路徑 電腦路徑
你可以使用pull和push命令將檔案複製到裝置或從裝置複製檔案。與install命令(僅將 APK 檔案複製到特定位置)不同,使用pull和push命令可將任意目錄和檔案複製到裝置中的任何位置。
4.如需從裝置中複製某個檔案或目錄(及其子目錄),請使用以下命令:
adb pull remote local
5.如需將某個檔案或目錄(及其子目錄)複製到裝置,請使用以下命令:
adb push local remote
6.將local和remote替換為開發機器(本地)和裝置(遠端)上的目標檔案/目錄的路徑。例如:
adb push foo.txt /sdcard/foo.txt
7.檢視手機解析度:
adb shell wm size
四、CPU及記憶體操作
top命令提供了實時的對系統處理器的狀態監視.它將顯示系統中CPU最“敏感”的任務列表.該命令可以按CPU使用.記憶體使用和執行時間對任務進行排序.
1.檢視top幫助
adb shell –help
2.檢視裝置cpu和記憶體佔用情況:
adb shell top
PID 程序id
USER 程序所有者的使用者名稱
PR 優先順序
NI 負值表示高優先順序,正值表示低優先順序
VIRT 程序使用的虛擬記憶體總量,單位kb
RES 程序使用的、未被換出的實體記憶體大小,單位kb
%CPU 上次更新到現在的CPU時間佔用百分比
%MEM 程序使用的實體記憶體百分比
TIME+ 程序使用的CPU時間總計
3.列印每個程序使用CPU詳情輸出至cpu.txt:
adb shell top > D:\CPU.txt
3. adb shell top -d 2 //每2s重新整理一次
-m num Maximum number of processes to display. // 最多顯示多少個程序
-n num Updates to show before exiting. // 重新整理次數
-d num Seconds to wait between updates. // 重新整理間隔時間(預設5秒)
-s col Column to sort by (cpu,vss,rss,thr). // 按哪列排序
-t Show threads instead of processes. // 顯示執行緒資訊而不是程序
-h Display this help screen. // 顯示幫助文件
4.獲取某個應用的CPU資料
adb shell top | grep "package資訊"
例如檢視樂讀app的時時cpu佔用情況
10秒重新整理一次顯示CPU佔用情況:adb shell top -d 10 | grep com.youdao.yread
五、其他
1.檢視電池資訊:
adb shell dumpsys battery
2.呼叫 Activity 管理器 (am
)
在 adb shell 中,您可以使用 Activity 管理器 (am
) 工具發出命令以執行各種系統操作,如啟動 Activity、強行停止程序、廣播 intent、修改裝置螢幕屬性,等等。在 shell 中,相應的語法為:amcommand
您也可以直接從 adb 發出 Activity 管理器命令,無需進入遠端 shell。例如:
adb shell am start -a android.intent.action.VIEW
詳情請看官方文件
3.裝置連結
硬體裝置連結類問題請點選這裡