1、安裝卸載應用及查看當前activity或權限等android
adb devices ------查看鏈接設備 adb install apk路徑 ------安裝apk adb install -r apk路徑 ------覆蓋安裝apk adb uninstall com.xx ----- 卸載apk adb shell pm clear com.xx ------清除app數據 adb shell dumpsys window windows | findstr "Current" ------獲取包名及當前頁面的activity aapt dump badging apk路徑 ------查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各類詳細信息,比較經常使用的命令 以下 package:name='com.xxx'versionCode='90700'versionName='9.7.0' sdkVersion:'19' targetSdkVersion:'28' uses-feature:'android.hardware.camera' uses-permission:'android.permission.USE_FINGERPRINT' uses-permission:'android.permission.CALL_PHONE'
2、判斷設備屏幕和網絡狀態等shell
adb shell dumpsys 查看設備鎖屏或黑屏狀態 adb shell dumpsys window policy|findstr mScreenOnFully 若爲true,即爲點亮狀態 若爲false,即爲黑屏狀態 查看網絡鏈接狀態 adbshelldumpsys wifi |findstr "Wi-Fi is " 結果有兩種 鏈接WiFi狀態 Wi-Fiisenabled 未鏈接WiFi狀態 Wi-Fiisdisabled 查看包信息 Package Information adb shell dumpsys package 查看內存使用狀況Memory Usage adb shell dumpsys meminfo adb shell dumpsys display | findstr DisplayDeviceInfo 其餘經常使用參數命令 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---------查看進程信息
3、adb shell am獲取APP啓動時間windows
am(ActivityManager) 可用於啓動時間測試(實際APP測試不能以此做爲判斷標準 )網絡
adb shell am start -W com.xx/.home.activity.HomeActivity adb shell am start -W com.xx/.activity.launch.LaunchActivity 若是隻關心某個應用自身啓動耗時,參考TotalTime; 若是關心繫統啓動應用耗時,參考WaitTime; 若是關心應用有界面Activity啓動耗時,參考ThisTime。
4、adb shell wm查看模擬屏幕分辨率和密度app
命令查看屏幕尺寸 #方法一 adb shell dumpsys window displays |head -n 3 輸出相似以下信息: WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays) Display:mDisplayId=0 init=1080x1920 440dpicur=1080x1920app=1080x1920rng=1080x1025-1920x1865 1080x1920就是屏幕分辨率。 #方法二 adb shell wm size 修改及重置size和desity adbshellwm size 1080x1920 #設置分辨率1080x1920 adbshellwm size reset #重置分辨率 adbshellwm density 480 #設置density 480 adbshell wm desity reset #重置desity
5、adb shell monkey穩定性測試ide
adb shell monkey經常使用組合性能
adb shell monkey -pcom.xx--ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-syskeys0--throttle200500000>sdcard/huaweimonkey0725.txt 參數解釋: 其中com.xx指包名,如何獲取adb logcat | findstr Displayed 200 爲延遲時間--throttle,單位毫秒 500000爲事件數 0爲系統事件百分比 --pct-syskeys --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目錄下 如何中止monkey adb shell ps | grep monkey 返回來的第一個數字,便是monkey的進程號 shell 7772 185 277516 22244 ffffffff 4010a58c S com.Android.commands.monkey kill 命令結束進程繼續輸入: kill 7772 查到的進程號 如何獲取monkey異常日誌 adb shell monkey執行完查看崩潰日誌 【Android】抓取log(anr) 第一步:adb shell 第二步:cd /data/anr(若是有anr目錄繼續執行第三步,若是沒有會提示沒有此目錄,那就不須要再去找traces.txt文件了) 第三步:ls(查看存在的traces.txt 文件) 第四步:Ctrl+C退出,而後輸入adb pull /data/anr/traces.txt E:\ 把traces.txt文件導入到E盤 ANRs (「Application Not Responding」),意思是」應用沒有響應「。
6、adb shell pm查看應用相關信息測試
adb shell pm 相關命令 adb shell pm list packages ------列出全部應用 adb shell pm list packages -s ------列出系統應用 adb shell pm list packages -3 ------列出第三方應用 adb shell pm list packages test adb shell pm list packages |findstr test ----好比要查看包名包含字符串 test 的應用
7、adb logcat查看日誌信息google
adb logcat | findstr Displayed ------adb獲取當前頁面的activity 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
8、adb shell dumpsys耗電測試spa
(一)、測試APP是否過量耗電 adb shell logcat -v time 導出log中sending alarm行不含待測應用包名。若存在,則須要關注type爲0和2的sending alarm是否頻繁,若出現屢次則說明有可能會形成過量耗電。 (二)、在低電耗模式和應用待機模式下進行測試 目的: 爲確保用戶得到良好的體驗,您應在低電耗模式和應用待機模式下全面測試您的應用。 在低電耗模式下測試 使用Android6.0(API級別23)或更高版本的系統映像配置硬件設備或虛擬設備。 將設備鏈接到開發計算機並安裝您的應用。 運行您的應用並使其保持活動狀態。 運行如下命令,強制系統進入閒置模式: $ adbshelldumpsys deviceidle force-idle 準備就緒後,運行如下命令,使系統退出閒置模式: $ adbshelldumpsys deviceidle unforce 執行如下命令,從新激活設備: $ adbshelldumpsys battery reset 在從新激活設備後觀察應用的行爲。確保應用在設備退出低電耗模式時正常恢復。 在應用待機模式下測試 使用Android 6.0(API 級別23)或更高版本的系統映像配置硬件設備或虛擬設備。 將設備鏈接到開發計算機並安裝您的應用。 運行您的應用並使其保持活動狀態。 運行如下命令,強制應用進入應用待機模式: $adb shell dumpsys battery unplug $adb shell am set-inactive 使用如下命令模擬喚醒您的應用: $adb shell am set-inactive $adb shell am get-inactive 在喚醒應用後觀察它的行爲。確保應用從待機模式正常恢復。您應特別檢查應用的通知和後臺做業是否繼續按預期運行。 adb shell ps查看進程信息 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,進程的名稱 今天介紹的adb命令可根據我的需求自行封裝腳本,下節會分享monkeyscript腳本應用,敬請期待!
9、參考