一、安装卸载应用及查看当前activity或权限等
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'
二、判断设备屏幕和网络状态等
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---------查看进程信息
三、adb shell am获取APP启动时间
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。
四、adb shell wm查看模拟屏幕分辨率和密度
命令查看屏幕尺寸
#方法一
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
五、adb shell monkey稳定性测试
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”),意思是”应用没有响应“。
六、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 的应用
七、adb logcat查看日志信息
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
八、adb shell dumpsys耗电测试
(一)、测试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脚本应用,敬请期待!
九、参考
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。