一、ADB 简介
ADB(Android Debug Bridge) 是 Android 开发/测试人员不可替代的通用命令行工具,其允许与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。Android 系统是基于 Linux 内核的,所以 Linux 里的很多命令在 Android 里也有相同或类似的实现,在 adb shell 里可以调用。该工具是一个客户端-服务器程序。
创新互联建站作为成都网站建设公司,专注网站建设、网站设计,有关企业网站制作方案、改版、费用等问题,行业涉及成都木包装箱等多个领域,已为上千家企业服务,得到了客户的尊重与认可。
客户端:客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
后台程序:后台程序在每个模拟器或设备实例上作为后台进程运行。http://www.daiqiyang.com
服务器:服务器在开发计算机上作为后台进程运行。
二、安装:网上下载adb解压到自定义路径后,配置环境变量即可。
三、连接:
ADB与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令(所有 adb 客户端均使用端口 5037 与 adb 服务器通信)。
四、常用命令
1、安装应用
(1)adb install D:\adbtest\baidu.apk 文件名中不要有空格
(2)adb push D:\adbtest\baidu.apk /system/app
会将原来系统中的对应的apk覆盖掉
可用 adb pull /system/app/baidu.apk /home/ 备份
有时候会出现Read-only的错误,我们可以使用强制安装命令来安装apk
adb install -r D:\adbtest\baidu.apk
2、卸载
adb uninstall com.baidu.browser.apps
3、导入/导出 文件到手机中
adb pull remote local
adb push local remote
4、包管理命令pm
adb shell pm list packages -3 查看第三方安装包
根据包名,查看apk 安装路径
adb shell pm path com.baidu.browser.apps 包名
清除app 数据
adb shell pm clear com.baidu.browser.apps 包名
5、dumpsys查询系统服务转储到屏幕:
查看所有activity
adb shell dumpsys activity activities、
获取当前运行的Activity
adb shell dumpsys activity | findstr Run
6、查看系统进程
adb shell top
adb shell ps
Ps 只提供当前进程的快照。top即时查看最活跃的进程
7、抓取日志adb logcat
adb logcat -v time :E >D:\test.log 抓取日志并输出到制定路径
adb logcat ActivityManager:i :s
查看activity日志,仅输出标记为“ActivityManager”并且优先级大于等于“Info”的日志,*:S用于设置所有标记的日志优先级为S,这样可以确保仅输出符合条件的日志。
只显示需要的输出(白名单),通过管道使用 grep 过滤。
参考资料(https://www.cnblogs.com/bydzhangxiaowei/p/8168598.html)
8、adb shell monkey 压力测试
参考资料(https://www.cnblogs.com/yindada/p/9845032.html)
adb shell monkey -p com.baidu.browser.apps -v 1000 >d:\adbtest\monkey_test.txt
-p ,此命令用于指定包,若不指定则在整个系统中执行
-v ,用于反馈日志的详细程度级别
Level 0 : adb shell monkey -p 包名 -v 10 // 默认级别,仅提供启动、测试完成和最终结果等少量信息
Level 1 : adb shell monkey -p 包名 -v -v 10 // 提供较为详细的日志,包括每个发送到Activity的事件信息
Level 2 : adb shell monkey -p 包名 -v -v -v 10 // 提供最详细的日志,包括了测试中选中/未选中的Activity信息
1.程序无响应:ANR问题:在日志中搜索“ANR”
2.崩溃问题:在日志中搜索“CRASH”
3.其他问题:在日志中搜索”Exception”
9、模拟用户操作
点击事件
adb shell input keyevent
滑动
adb shell input swipe 300 1000 300 500
文本输入
adb shell input text hello,world
10、截屏、录像:
adb shell screencap /system/test.png文件保存路径
adb shell screenrecord 文件保存路径
Android adb调试时,经常会遇到权限问题(failed for /system/lib/libmm-test.so, Read-only file system),即使Root设备,在向/system等系统文件夹操作时(比如push、rm等),依然可能会提示“Read-only file system”。adb remount 重新挂载系统分区,使系统分区重新可写或着重启 (http://www.metsky.com/archives/670.html)
screenrecord 部分参数
--size width x height 设置分辨率 eg:1280x720
--bit-rate rate 视频比特率,默认值为 4Mbps,可以设6Mbps,这样质量更好 eg:adb shell screenrecord --bit-rate 6000000 /system/demo.mp4
--time-limit time 设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)