目錄
- 前言
- 使用前的準備
- Adb應用管理
- 查看設備資訊
- 修改設定
- 使用 Monkey 進行壓力測驗
- 日志查看
- 結尾:平時作業的積累和資料筆記,共同成長
前言
各類檔案的學習和積累,方便本人日后使用,故作此文章
使用前的準備
第一步,配置好Adb環境
第二步,Adb連接安卓設備
查看設備:
//命令:
adb devices
//輸出
List of devices attached
ba709211 device
192.168.31.87:5555 device
輸出里的 ba709211 和 192.168.31.87:5555 即為 serialNumber,serialNumber 即我們常說的 SN,
當有多個設備,需要指定某個設備進行操作時:
| 引數 | 含義 |
|---|---|
| -d | 指定當前唯一通過 USB 連接的 Android 設備為命令目標 |
| -e | 指定當前唯一運行的模擬器為命令目標 |
| -s | 指定相應 serialNumber 號的設備/模擬器為命令目標 |
// 命令:
adb -s 192.168.31.87:5555 shell wm size //指定查看192.168.31.87:5555設備的螢屏解析度
// 示例輸出
Physical size: 1080x2400 //當前設備解析度為1080x2400
// 單獨給某個設備安裝應用
adb -s 192.168.31.87:5555 install a.apk
啟動adb服務:
adb start-server
關閉adb服務:
adb kill-server
查看adb版本:
// 命令
adb version
//示例輸出:
Android Debug Bridge version 1.0.31
Adb應用管理
查看測驗機所有包名
// 命令
adb shell pm list package
//示例輸出:
package:com.miui.screenrecorder
package:com.android.cts.priv.ctsshim
package:com.qualcomm.qti.qms.service.telemetry
package:com.miui.contentextension
package:com.hpbr.bosszhipin
package:com.qualcomm.qti.qcolor
package:com.android.internal.display.cutout.emulation.corner
package:com.android.internal.display.cutout.emulation.double
package:com.android.providers.telephony
package:com.android.dynsystem
package:com.miui.powerkeeper
package:com.goodix.fingerprint
package:com.xiaomi.miplay_client
package:com.unionpay.tsmservice.mi
package:com.miui.fm
可在adb shell pm list package后面加引數,進行過濾查看:
| 引數 | 顯示內容 |
|---|---|
| 無 | 查看所有應用 |
| -f | 顯示應用關聯的 apk 檔案 |
| -d | 只顯示 disabled 的應用 |
| -e | 只顯示 enabled 的應用 |
| -s | 只顯示系統應用 |
| -3 | 只顯示第三方應用 |
| -i | 顯示應用的 installer |
| -u | 包含已卸載應用 |
查看第三方軟體包名
// 命令
adb shell pm list package -3
//示例輸出
package:com.miui.screenrecorder
package:com.hpbr.bosszhipin
package:com.android.bankabc
package:com.tmri.app.main
package:com.sankuai.meituan
package:com.black.unique
package:com.cgbchina.xpt
package:com.sinovatech.unicom.ui
package:com.jingyao.easybike
package:cmb.pb
package:cn.gov.tax.its
package:com.baidu.input_mi
模糊查找應用
// 命令
adb shell pm list packages hevc //查找帶有hevc字符的應用
//示例輸出
package:com.hevc.hevcandroid
也可以使用grep或者find來查找
// grep命令(可能出現命令不支持)
adb shell pm list packages | grep hevc
//示例輸出,此時我們可以換成find來查找
'grep' 不是內部或外部命令,也不是可運行的程式
或批處理檔案,
//find命令,注意find后面需要用“”來引出查找的關鍵字符
adb shell pm list packages | find "hevc"
//示例輸出
package:com.hevc.hevcandroid
安裝APK
使用adb install后面可以加上引數來控制安裝行為:
| 引數 | 含義 |
|---|---|
| -l | 將應用安裝到保護目錄 /mnt/asec |
| -r | 允許覆寫安裝 |
| -t | 允許安裝 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的應用 |
| -s | 將應用安裝到 sdcard |
| -d | 允許降級覆寫安裝 |
| -g | 授予所有運行時權限 |
// 安裝一個應用
adb install D:\作業檔案\Cccccccc-v1.1.9.apk```
//示例輸出狀態,代表安裝成功
327 KB/s (25896185 bytes in 77.157s)
Success
卸載應用
// 卸載應用的命令
adb uninstall com.hevc.hevcandroid
adb uninstall -k com.hevc.hevcandroid //-k引數可選,代表卸載應用但保留資料和快取目錄
//示例輸出
Success
查看設備資訊
查看測驗機cpu資訊
// 命令
adb shell dumpsys cpuinfo
//示例輸出
CPU usage from 109969ms to 3541ms ago (2020-09-11 23:02:32.737 to 2020-09-11 23:06:03.127) with 50% awake:
18% 884/surfaceflinger: 8.4% user + 10% kernel / faults: 364 minor 1 major
15% 27200/com.miui.home: 11% user + 4.1% kernel / faults: 19211 minor
10% 1795/system_server: 6.7% user + 4.2% kernel / faults: 35583 minor 11 major
6.1% 5137/com.miui.securitycenter: 3.1% user + 2.9% kernel / faults: 2553 minor
4.2% 2440/com.android.systemui: 3.1% user + 1% kernel / faults: 13853 minor
2.9% 780/vendor.qti.hardware.display.composer-service: 1.4% user + 1.4% kernel / faults: 115 minor
2.8% 1089/cnss_diag: 2.2% user + 0.6% kernel / faults: 1 minor
1.8% 539/logd: 0.9% user + 0.9% kernel / faults: 23 minor
查看測驗機內部資訊
// 命令
adb shell dumpsys meminfo
// 示例輸出
Applications Memory Usage (in Kilobytes):
Uptime: 175868513 Realtime: 362111869
Total PSS by process:
513,739K: com.tencent.mm (pid 25157 / activities)
311,194K: com.miui.home (pid 27200 / activities)
246,700K: system (pid 1795)
199,683K: com.android.systemui (pid 2440)
172,326K: surfaceflinger (pid 884)
115,014K: android.hardware.camera.provider@2.4-service_64 (pid 751)
103,291K: com.tencent.mobileqq (pid 7651)
92,353K: com.tencent.mm:appbrand2 (pid 684)
79,739K: com.tencent.mm:toolsmp (pid 32711)
70,697K: com.android.nfc (pid 3856)
68,757K: com.miui.voiceassist (pid 7672)
查看測驗機所有包資訊
// 命令
adb shell dumpsys activity
//示例輸出
ACTIVITY MANAGER SETTINGS (dumpsys activity settings) activity_manager_constants:
max_cached_processes=60
background_settle_time=60000
fgservice_min_shown_time=2000
fgservice_min_report_time=3000
fgservice_screen_on_before_time=1000
fgservice_screen_on_after_time=5000
content_provider_retain_time=20000
gc_timeout=5000
gc_min_interval=60000
查看設備型號
// 命令
adb shell getprop ro.product.model
//示例輸出
Redmi K30 5G
查看電池狀態
// 命令
adb shell dumpsys battery
//示例輸出
Current Battery Service state:
AC powered: false
USB powered: false
Wireless powered: false
Max charging current: 0
Max charging voltage: 0
Charge counter: 2943720
status: 3
health: 2
present: true
level: 69 //代表當前電量
scale: 100 //代表最大電量
voltage: 4021
temperature: 314
technology: Li-poly
查看設備解析度
// 命令
adb shell wm size
//示例輸出
Physical size: 1080x2400
查看螢屏密度
// 命令
adb shell wm density
//示例輸出
Physical density: 440
查看屏引數
// 命令
>adb shell dumpsys window displays
//示例輸出
WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)
Display: mDisplayId=0
init=1080x2400 440dpi cur=1080x2400 app=1080x2261 rng=1080x941-2305x2261
deferred=false mLayoutNeeded=false mTouchExcludeRegion=SkRegion((0,0,1080,2400))
mFreeFormWindowShowed=false
查看android id
// 命令
adb shell settings get secure android_id
//示例輸出
5adc06ce10522b40
查看android 系統版本
// 命令
adb shell getprop ro.build.version.release
//示例輸出
10
修改設定
注:修改設定之后,運行恢復命令有可能顯示仍然不太正常,可以運行 adb reboot 重啟設備,或手動重啟,
修改解析度
// 命令,將解析度設定為:480x1024
adb shell wm size 480x1024
恢復原解析度
// 命令
adb shell wm size reset
修改螢屏密度
// 命令,將螢屏密度修改為 160dpi
adb shell wm density 160
恢復原螢屏密度
// 命令
adb shell wm density reset
使用 Monkey 進行壓力測驗
monkey是android自帶系統自帶的程式,可以生成偽隨機用戶事件來模擬單擊、觸摸、手勢等操作,可以對正在開發中的程式進行隨機壓力測驗,
簡單用法
// 命令,表示向 com.tencent.mm 程式發送 500 個偽隨機事件,并且將日志指定位置保存
adb shell monkey -p com.tencent.mm -v 500 > 日志路徑.txt
-v 是提升日志級別,最高可加三個-v
//示例輸出
bash arg: -p
bash arg: com.tencent.mm
bash arg: -v
bash arg: 500
args: [-p, com.tencent.mm, -v, 500]
arg: "-p"
arg: "com.tencent.mm"
arg: "-v"
arg: "500"
data="com.tencent.mm"
monkey多種引數代表的含義
| 引數 | 含義 |
|---|---|
| -p 包名 | 代表對該程式進行壓測 |
| –throttle 300 | 代表壓測中延遲300毫秒 |
| –pct-touch 50 | 代表觸摸時間占50% |
| –pct-motion 100 | 代表motion(手勢)事件占比 |
| –pct-trackball | 代表滾動事件占比 |
| –ignore-crashes | 代表monkey運行時忽略crashes事件,繼續運行 |
| –ignore-timeouts | 代表monkey運行時忽略ANR,繼續運行 |
舉例一個monkey操作
// 命令,向騰訊微信發送500次隨機事件,每次事件間隔為300毫秒,其中設定觸屏的事件占比為50%,
adb shell monkey --throttle 300 --pct-touch 50 -p com.tencent.mm 500
//示例輸出
bash arg: --throttle
bash arg: 300
bash arg: --pct-touch
bash arg: 50
bash arg: -p
bash arg: com.tencent.mm
bash arg: 500
args: [--throttle, 300, --pct-touch, 50, -p, com.tencent.mm, 500]
arg: "--throttle"
arg: "300"
arg: "--pct-touch"
arg: "50"
arg: "-p"
日志查看
控制臺直接列印
// 命令,沒有添加任何過濾,代表列印所有日志,測驗意義不大
adb logcat
指定列印某個應用的日志
// 命令
adb shell pm list packages tenc //模糊查詢帶有tenc字符的應用程式
//示例輸出
package:com.tencent.mm
package:com.tencent.qqlive
package:com.tencent.mobileqq
package:com.tencent.soter.soterserver
//使用find或者grep來篩選應用日志,這里我拿微信來測驗列印日志
adb logcat | grep "com.tencent.mm"
將日志匯出到指定的路徑
// 命令
adb logcat > D:\log.txt
示例輸出:
結尾:平時作業的積累和資料筆記,共同成長
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/23865.html
標籤:其他
上一篇:全加器的設定
下一篇:MG電子游戲,有沒有人幫幫忙?
