偷偷告訴你ADB命令葵花寶典【adb經常使用命令及應用場景】

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腳本應用,敬請期待!

image
9、參考

https://developer.android.goo...

相關文章
相關標籤/搜索