1. 程式人生 > >adb命令積累(持續更新)

adb命令積累(持續更新)

pct 執行 png 設備 span splay 選項 install stx

技術分享圖片 1、查看連接設備 adb devices 2、清除數據 adb shell pm clear com.wuba 3、安裝apk adb install 路徑 如何確定待測APP的包名: adb logcat |findstr START 啟動待測APP,日誌中cmp和反斜杠/之間的信息即為包名 4、adb shell monkey 如何禁止系統事件(0是系統時間百分比) adb shell monkey -p com.wuba --pct-syskeys 0 -v 100 5、adb logcat adb獲取當前頁面的activity 方法一: adb logcat | findstr Displayed 方法二:進入adb shell 執行dumpsys window windows |grep -E ‘com.wuba‘ adb logcat 主要功能 logcat
(四類log buffer是main,radio,system,events) adb logcat -v time > logcat.txt //默認是-b main -b system adb logcat -v time -b main //main log adb logcat -v time -b radio //radio log adb logcat -v time -b system //system log adb logcat -v time -b events 6、adb shell dumpsys adb判斷設備是否鎖屏和黑屏狀態
adb shell dumpsys window policy|findstr mScreenOnFully 若為true,即為點亮狀態 若為false,即為黑屏狀態 其他功能 adb shell dumpsys activity---------------查看ActvityManagerService 所有信息 adb shell dumpsys activity activities----------查看Activity組件信息 adb shell dumpsys activity services-----------查看Service組件信息 adb shell dumpsys activity providers----------產看ContentProvider組件信息 adb shell dumpsys activity broadcasts--------查看BraodcastReceiver信息 adb shell dumpsys activity intents--------------查看Intent信息 adb shell dumpsys activity processes---------查看進程信息 7、adb shell am
am(ActivityManager) 響應時間測試(實際APP測試不能以此作為判斷標準 ) adb shell am start -W com.wuba/.home.activity.HomeActivity adb shell am start -W com.wuba/.activity.launch.LaunchActivity
  • 如果只關心某個應用自身啟動耗時,參考TotalTime;
  • 如果關心系統啟動應用耗時,參考WaitTime;
  • 如果關心應用有界面Activity啟動耗時,參考ThisTime。
8、如何停止monkey adb shell ps | grep monkey 返回來的第一個數字,即是monkey的進程號 shell 7772 185 277516 22244 ffffffff 4010a58c S com.Android.commands.monkey kill 命令結束進程繼續輸入: kill 7772[剛才查到的進程號 10、adb shell monkey --ignore-crashes 忽視應用 crash 報錯,不指定該參數時, 應用出現 crash,monkey 會自動停止發送事件,指定該參數後, mongkey 會在 crash 後也一直發送事件,知道所有事件發送完成 --ignore-timeouts 忽視超時導致的錯誤,即ANR的錯誤 --ignore-security-exceptions 忽視權限方面的錯誤 --monitor-native-crashes 監控由 C/C++ 代碼引起的 crash --ignore-native-crashes 忽視由 C/C++ 代碼引起的 crash --kill-process-after-error 當出現錯誤後殺掉應用的進程 --hprof 指定該選項後,monkey會在發送事件完成後生成性能 報告,報告一般存放於/data/misc目錄下 11、查看權限 aapt dump badging apk路徑( 查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各種詳細信息) 12、測試APP是否過量耗電 adb shell logcat -v time 導出log中sending alarm行不含待測應用包名。若存在,則需要關註type為0和2的sending alarm是否頻繁,若出現多次則說明有可能會造成過量耗電。 13、通過tcp命令連接手機後可以在手機和pc斷開後發送指令: 首先通過USB線喚醒server,adb start -server,之後執行adb tcpip 5555,重置端口號:5555 ,查找手機IP後,執行adb connect ip ,連接成功後可以斷開手機,執行adb -s 10.252.221.202:5555 shell monkey -p com.wuba -v 1000 等相關任務 補充:server與client通訊端口5037, adb server會與emulator交互,使用的端口有兩個,一個是5554專用與emulator實例的連接,那麽數據可以從emulator轉發給IDE控制臺,另一個則是5555,專門與adb daemon連接為後面調試使用 14、adb shell ps 執行完adb shell ps後 USER PID PPID VSIZE RSS WCHAN PC NAME fu0_a349 31658 481 2405608 180692 ffffffff 00000000 S USER: 進程的當前用戶; PID : 毫無疑問, process ID的縮寫,也就進程號; PPID :process parent ID,父進程ID VSIZE : virtual size,進程虛擬地址空間大小; RSS : 進程正在使用的物理內存的大小; WCHAN :進程如果處於休眠狀態的話,在內核中的地址; PC : program counter, NAME: process name,進程的名稱 常見問題 1、ADB server didn‘t ACK 解決: 首先執行adb nodaemon server獲取端口號 其次執行 netstat -ano |findstr "5037"得到占用端口的pid 8516 最後執行 taskkill /f /pid 8516

adb命令積累(持續更新)