ADB常用命令

ADB常用命令

Apk安装失败的命令:

adb shell pm list packages -3 # 查看第三方应用

adb shell pm list packages -s # 查看系统应用

adb shell pm list packages -f | findstr "com.sony.dtv.iot" 找到包名文件目录,删除包名或删除包名里面的apk

连接设备:adb connect 192.168.66.145

断开连接设备 adb disconnect 192.168.66.145

查看设备:adb devices

知道包名查看apk路径

pm path com.dangbei.leard.leradlauncher

获取设备属性:

  • adb shell
  • getprop | grep -e 'model' -e 'version.sdk' -e 'manufacturer' -e 'hardware' -e 'platform' -e 'revision' -e 'serialno' -e 'product.name' -e 'brand'

0)截图

方法1(简单,只适配低版本android): adb exec-out screencap -p >picture_name.png

注意

如果 adb 版本较老,无法使用 exec-out 命令,建议更新 adb 版本

方法2(推荐):adb shell screencap -p /sdcard/0001.png

adb pull /sdcard/0001.png d://screenshot

录制屏幕

录制屏幕以 mp4 格式保存到 /sdcard

adb shell screenrecord /sdcard/filename.mp4

导出到电脑

adb pull /sdcard/filename.mp4

需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒

1)连接多个设备时,如何指定设备进行安装

adb -s 设备号 install apk包

2)断开设备连接

adb kill-server //结束adb服务

adb start-server //启动adb服务

3)卸载 .apk 包

adb uninstall apk包

adb uninstall com.dangbei.health.fitness

4)查看设备系统中所有应用包名

adb shell pm list package

手动卸载(有些系统应用卸载不掉)

adb shell pm uninstall -k --user 0 com.gitvvideo.sony

5)adb push文件到安卓设备没有权限的解决办法:增加root权限(在安卓设备操作没有权限,也可以这么操作)

>adb root

>adb remount

>adb push D:\file_300mb.txt /data/app

5)获取wifi mac信息

adb shell

cat /sys/class/net/wlan0/address

6)清空应用缓存

adb shell am force-stop packagename关闭应用程序(com.chinamobile.mcloud)

adb shell pm clear packagename 清空应用程序数据

7)

启动应用

adb shell am start com.sec.android.app.camera/.Camera

5)查看指定应用包名

【方法一】使用 monitor 检测,步骤如下:

  1. 输入 adb shell am monitor 命令
  2. 设备上打开你想要查看包名的应用
  3. 输入 quit 命令退出 monitor 检测

【方法二 】启动APP,使用 adb shell "dumpsys window | grep mCurrentFocus" 命令,查看启动应用的包名信息,以及Activity的信息

6)日志

//格式1:打印默认日志数据

adb logcat

//格式2:需要打印日志详细时间的简单数据

adb logcat -v time

//格式3:需要打印级别为Error的信息

adb logcat *:E

//格式4:需要打印时间和级别是Error的信息

adb logcat -v time *:E

//格式5:将日志保存到电脑固定的位置,比如D:\log.txt

adb logcat -v time >D:\log.txt

日志过滤:adb logcat <tag>[:priority]

tag表示标签,priority输出的级别,日志默认级别是V,如果错误日志我们选择E就可以。

Android 的日志分为如下几个优先级(priority):

V —— Verbose(最低,输出得最多)

D —— Debug

I —— Info

W —— Warning

E —— Error

F —— Fatal

S —— Silent(最高,啥也不输出)

按某级别过滤日志则会将该级别及以上的日志输出。比如,命令:adb logcat *:W

其实*可以是某个tag,如果没有指明,就表示所有。

tag可以由多个 [:priority] 组成。比如,命令:

adb logcat ActivityManager:I MyApp:D *:S

表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志(即屏蔽其它 tag 日志)。

adb logcat选项解析

--"-s"选项 : 设置输出日志*:s的标签, 只显示该标签的日志;

--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;

--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;

--"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;

--"-v"选项 : 设置日志的输出格式, 注意只能设置一项;

--"-c"选项 : 清空所有的日志缓存信息;

--"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;

--"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;

--"-g"选项 : 查看日志缓冲区信息;

--"-B"选项 : 以二进制形式输出日志;)

7)将电脑文件push到手机上

adb push 电脑路径 手机路径

8)将手机中的信息拉取到电脑上

adb pull 手机路径 电脑路径

9)monkey

adb shell monkey -p com.dangbei.TVHomeLauncher --throttle 500 --ignore-crashes --ignore-timeouts -s 208 -v -v -v 50000

(adb shell monkey -p com.emton.community --throttle 500 --pct-touch 20 --pct-motion 20 --pct-nav 30 --pct-majornav 20 --pct-appswitch 10 --ignore-crashes --ignore-timeouts -s 200 -v -v -v 10000)

说明:第一个-s指定设备,如果只连接了一台设备,可不用该参数。

-p <apk包名>只允许系统启动指定的app,如果不指定,将允许系统启动设备中的所有app,也可指定多个包。

--throttle <毫秒数> 指定用户操作(事件)间的时延。

--ignore-crashes 指定当应用程序崩溃时,Monkey依然发送事件,直到事件计数完成。

--ignore-timeouts 当应用程序发生ANR错误时,Monkey依然会发送事件,直到事件计数完成。

--pct-touch <percent>

作用:调整触摸事件的百分比.(触摸事件是指在屏幕中的一个down-up事件,即在屏幕某处按下并抬起的操作)比如一个应用80%的操作都是触摸,那就可以将此参数的百分比设置成相应较高的百分比。如触摸返回、触摸签到等。

--pct-motion 调整滑动事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一 个up事件组成),也就是直线滑动事件如从左到有滑动解锁。

--pct-trackball <percent>

作用:调整滚动球事件百分比。(滚动球事件由一个或多个随机的移动事件组成,有时会伴随着点击事件)如不规则滑动解锁

--pct-nav<percent> 导航,现在手机基本没有导航了

---pct-syskeys<percent> 按键消息比例,主页、后退、音量增减

--pct-anyevent 其他不常用的按键比例的设置,不常用

--hprof monkey测试完成后生成内存快照,data/misc路径下生成,不常用,比较占空间

--ignore-security-exceptions 忽略权限问题的

--kill-process-after-error 当错误发生时杀进程

--monitor-native-crashes 监视崩溃时的本地代码

第2个-s,用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

-v 用于指定反馈信息级别,总共分为level 0、level 1、level 2三个级别,级别越高,输出的日志越详细。

日志级别 Level0 示例 adb shell monkey -p com.amaker.mp –v 100

说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

日志级别 Level 1 示例 adb shell monkey -p com.amaker.mp –v -v 100

说明 提供较为详细的日志,包括每个发送到Activity的事件信息

日志级别 Level 2 示例 adb shell monkey -p com.amaker.mp –v -v –v 100

说明 最详细的日志,包括了测试中选中/未选中的Activity信息

最后的数字(这里是500):表示Monkey程序模拟500次随机用户操作事件。

>输出测试结果到D:\monkeylog.txt

结束monkey:

退出应用和拔掉数据线,都无法停止monkey测试,如需停止monkey测试,输入如下命令:

adb shell ps | find "monkey"

返回来的数字,即是monkey的进程号

adb shell kill 13114

  • 36
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值