adb列印日誌以及常用adb命令

2021-10-11 19:06:06 字數 1990 閱讀 7345

adb logcat -c 清空日誌

adb logcat -s 「tag」 輸出指定tag的日誌資訊

如:輸出 「system.out」 標籤的資訊, 就可以使用adb logcat -s system.out 命令;

adb logcat -v time 可以看到日誌的輸出事件

adb logcat -v threadtime 看時間和執行緒資訊

adb logcat -v time -s 「addaccessoryactivity」 檢視帶"addaccessoryactivity" 的日誌

adb logcat -v time -s 「screenresolutionmanager」

adb logcat | grep wifi 過濾wifi標籤

adb logcat | grep 「^…activity」 過濾帶有activity字樣的,原理是正則

過濾項格式 : [:priority] , 標籤:日誌等級, 預設的日誌過濾項是 " *:i " ;

– v : verbose (明細);

– d : debug (除錯);

– i : info (資訊);

– w : warn (警告);

– e : error (錯誤);

– f: fatal (嚴重錯誤);

– s : silent(super all output) (最高的優先順序, 可能不會記載東西);

過濾指定等級日誌 : 使用 adb logcat tag *:e 命令, 顯示 error 以上級別的日誌;

adb logcat >text.txt

將日誌資訊輸出到以「日期 時間」命名的檔案中

adb logcat > 「%date:0,4%-%date:5,2%-%date:~8,2% %time:0,2%時%time:3,2%分%time:~6,2%.log」

那麼如下的各個操作的意義如下:

%date:~0,4% 表示從左向右指標向右偏0位,然後從指標偏移到的位置開始提取4位字元,結果是2016(年的值)

%date:~5,2% 表示指標從左向右偏移5位,然後從偏移處開始提取2位字元,結果是11(月的值)

%date:~8,2% 表示指標從左向右偏移8位,然後從偏移處開始提取2位字元,結果是09(日的值)

再來看時間time變數的值:

那麼如下的各個操作的意義如下:

%time:~0,2% 表示從左向右指標向右偏0位,然後從指標偏移到的位置開始提取2位字元,結果是小時字段數值

%time:~3,2% 表示指標從左向右偏移3位,然後從偏移處開始提取2位字元,結果是分鐘字段數值

%time:~6,2% 表示指標從左向右偏移6位,然後從偏移處開始提取2位字元,結果是秒字段數值

檢視top activity

adb shell dumpsys activity top | grep activity

adb shell getprop 列印屬性資訊 getprop |grep "***"

截圖 adb shell screencap -p /sdcard/01.png adb pull /sdcard/01.png 取下截圖

adb pull *** 取檔案

adb push *** 上傳檔案

adb shell ps 檢視程序

adb shell pm list packages 列出所有包名

展開settings屬性(並過濾"one"欄位的)

adb shell settings list global |grep one

設定settings(把one_build_status設為100)

settings put global one_build_status 100

列印keyevent

adb shell logcat |grep -i keyevent

檢視按鍵

adb shell getevent

列印出kl表

adb shell dumpsys input

使用adb看日誌

之前看日誌一般使用兩種方式 1 在androidstudio上看日誌 2 使用adb logcat 命令來重定向到乙個檔案中,然後在檔案中去看 adb logcat c test 1.log 一般現場排查問題會讓產品都會用第二種方式來打日誌,然後發給研發排查問題。現在又發現了一種方式來檢視日誌,在有...

常用ADB命令

1 列出當前連線的所有裝置 adb devices 2 安裝apk adb s emulator 5556 install helloworld.apk如果有多個裝置時,用 s 裝置序號 來指定裝置 adb install r helloworld.apk r 表示強制安裝 3 解除安裝apk ad...

ADB常用指令

開發中時常要用到adb命令,個人感覺用命令要比視覺化操作方便很多,尤其是針對記憶體不是很充裕的情況 一些視覺化操作軟體很耗記憶體,特別卡 一般安裝好sdk後,在sdk資料夾下的platform tools中就可以找到 為了方便使用,不需要每次都通過cmd開啟adb.exe而是直接在cmd中使用adb...