adb shell 入门
admin
2023-01-24 06:01:23
0

一、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. 连接 Android 模拟器
    夜神模拟器:adb connect 127.0.0.1:62001
    2.USB 连接 Android 设备
    a. 打开开发者选项
    Settings >About phone>连续点击 Build number
    b. 开启 USB debugging
    c .Dos 下输入adb devices验证手机是否连上 adb
    3.手机和电脑连入同一局域网 adb connect ip

四、常用命令

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 分钟)

相关内容

热门资讯

【今日要闻】“蛮族大厅.到底有... 家人们!今天小编来为大家解答蛮族大厅透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
玩家分享攻略“新圣游牌九.真的... 有 亲,根据资深记者爆料新圣游牌九是可以开挂的,确实有挂(咨询软件无需打...
今日重大通报“十三十三水全民比... 家人们!今天小编来为大家解答十三十三水全民比鸡透视挂怎么安装这个问题咨询软件客服徽9784099的挂...
终于懂了“来来淮北麻将.怎么开... 有 亲,根据资深记者爆料来来淮北麻将是可以开挂的,确实有挂(咨询软件无需...
【第一财经】“牛魔王牛牛.真的... 家人们!今天小编来为大家解答牛魔王牛牛透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买...
今日重大通报“昆明文山麻将.开... 您好:昆明文山麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
【第一资讯】“蜀友汇.到底是不... 【第一资讯】“蜀友汇.到底是不是挂?”太坑了果然有挂您好,蜀友汇这个游戏其实有挂的,确实是有挂的,需...
【第一资讯】“牵手跑胡子.是不... 网上科普关于“牵手跑胡子有没有挂”话题很是火热,小编也是针对牵手跑胡子作*弊开挂的方法以及开挂对应的...
终于懂了“白金岛.有没有挂?”... 您好:白金岛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏中...
玩家攻略科普“福州十八扑.辅助... 网上科普关于“福州十八扑有没有挂”话题很是火热,小编也是针对福州十八扑作*弊开挂的方法以及开挂对应的...