作者:炭烤毛蛋 ,查看博主了解更多。
提示:
承接上篇《adb 命令速查(中)》,本文简述adb 关于APP相关操作以及Monkey测试。
adb install [option]
ex: adb install baidu.apk
-l(关于forward lock)
adb install -l test.apk #forward lock application
-r 替换已存在应用,保留数据和缓存文件
adb install -r test.apk #replace existing application
-t 测试package标志
adb install -t test.apk #allow test packages
-s 将应用安装到sdcard
adb install -s test.apk #install application on sdcard
-d 忽略版本号安装apk
adb install -d test.apk #allow version code downgrade
-p 部分安装apk标志
adb install -p test.apk #partial application install
adb uninstall
adb uninstall com.baidu.search
adb uninstall -k
adb uninstall -k com.baidu.search
adb shell pm list packages
#根据包名查找
adb shell pm list packages | grep -i "package_name"
adb shell pm path \[APK name\]
adb shell pm /odm/
# 没有最后参数,默认会拖到当前目录
adb pull \[APK-path\] \[saving apk path\]
**remote couldn\'t create file: Read-only file system**
解决方法:adb push path\\file /path (原来为 \\path)
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)
adb shell am start -n com.android.camera2/com.android.camera.CameraLauncher
am start -n 包(package)名/包名.活动(activity)名称
adb shell “am start -n 包(package)名/包名.活动(activity)名称”
am start -n com.android.calculator2/com.android.calculator2.Calculator
2) **calendar(日历)的启动方法为:**
am start -n
com.android.calendar/com.android.calendar.LaunchActivity
am start -n
com.android.alarmclock/com.android.alarmclock.AlarmClock
启动的方法可以从每个应用的AndroidManifest.xml的文件中得到
Music 和 Video(音乐和视频)的启动方法为例:
am start -n
com.android.music/com.android.music.MusicBrowserActivity
am start -n
com.android.music/com.android.music.VideoBrowserActivity
am start -n
com.android.music/com.android.music.MediaPlaybackActivity
am start -n com.android.camera/com.android.camera.Camera
am start -n com.android.browser/com.android.browser.BrowserActivity
am start -a android.intent.action.VIEW
-d [[http://www.google.cn/]{.underline}](http://www.google.cn/)
am start -a android.intent.action.CALL -d
[[tel:10086]{.underline}](tel:10086)
am start -a android.intent.action.VIEW geo:0,0?q=beijing
usage: am \[subcommand\] \[options\]
start an Activity: am start \[-D\]
-D: enable debugging
send a broadcast Intent: am broadcast
start an Instrumentation: am instrument \[flags\]
-r: print raw results (otherwise decode REPORT\_KEY\_STREAMRESULT)
-e : set argument to
-p : write profiling data to
-w: wait for instrumentation to finish before returning
start profiling: am profile start
stop profiling: am profile stop
specifications include these flags:
\[-a \] \[-d \] \[-t \]
\[-c \[-c \] \...\]
\[-e\|\--es \...\]
\[\--ez \...\]
\[-e\|\--ei \...\]
\[-n \] \[-f \] \[\]
1)Monkey程序由Android系统自带,使用Java诧言写成,在Android文件系统中的存放路径是:
/system/framework/monkey.jar;
2)Monkey.jar程序是由一个名为"monkey"的Shell脚本来启动执行,shell脚本在Android文件系统中
的存放路径是:/system/bin/monkey;
3)Monkey 命令启动方式:
adb shell monkey{+命令参数}来进行Monkey测试
来进行Monkey 测试
命令,可以在Android机上安装Android终端模拟器
monkey 参数
-p <允许的包名列表>
用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。如果丌指定包,
monkey将允许系统启动设备中的所有app。
指定一个包:
adb shell monkey -p com.shjt.map 100
指定多个包:
adb shell monkey -p fishjoy.control.menu --p com.shjt.map
100
-v 用亍指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下
表所示:
Level 0 : adb shell monkey -p com.shjt.map -v 100 //
缺省值,仅提供启动提示、测试完成和最终结果等少量信息
Level 1 : adb shell monkey -p com.shjt.map -v -v 100 //
提供较为详细的日志,包括每个发送到Activity的事件信息
Level 2 : adb shell monkey -p com.shjt.map -v -v -v 100 //
最详细的日志,包括了测试中选中/未选中的Activity信息
-s(随机数种子)
用亍指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。
monkey测试1:adb shell monkey -p com.shjt.map --s 10 100 #\--throttle \<毫秒\>
用亍指定用户操作(即事件)间的时延,单位是毫秒;如果丌指定这个参数,monkey会尽可能快的生成和发送消息。
adb shell monkey -p com.shjt.map \--throttle 3000 100
Monkey 实例用monkey 命令 对 app进行 性能测试
adb shell monkey --p com.shjt.map ---throttle 100 ---pct-touch 50 ---pct-motion 50 --v --v 1000 \>c:\\monkey.txt
好工具提升工作效率。不枉博主一片辛苦,欢迎订阅博主–炭烤毛蛋 。