知识养成了思想,思想同时又在融化知识。这篇文章主要讲述App自动化05-adb相关的知识,希望能为你提供帮助。
什么是adb?
文章图片
- adb(android Debug Bridge)是android sdk的一个工具;
- adb是用来连接安卓手机和PC端的桥梁,要有adb作为二者之间的维系,才能让用户在电脑上对手机进行全面的操作;
- Android的初衷是用adb这样的一个工具来协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能。
文章图片
- 客户端
该组件发送命令,客户端在开发计算机上运行,可以通过发出 adb 命令从命令行终端调用客户端。
- 后台程序
该组件在设备上运行命令,后台程序在每个模拟器或设备实例上作为后台进程运行。
- 服务器
该组件管理客户端和后台程序之间的通信,服务器在开发计算机上作为后台进程运行。
文章图片
之前我们在搭建自动化的环境的时候其实就已经将adb配置好了,直接在windows的dos环境中就可以使用(通过在运行输入cmd即可进入),所以接下来我们就开始介绍adb使用方式。
adb连接Android设备要去通过adb去控制/操作设备,必须要保证adb连接上设备
模拟器连接模拟器的选择有非常多,比如夜神、逍遥、海马玩、网易mumu、Bluestacks、Genymotion等等,这里以夜神模拟器为例
- step1:开启夜神模拟器
- step2:通过adb connect 127.0.0.1:62001去连接
文章图片
其中,127.0.0.1为夜神模拟器的工作主机地址(因为是在本机上),62001为夜神模拟器官方指定的端口号
以下列表为主流模拟器以及对应的端口
模拟器 | 端口 |
---|---|
逍遥模拟器 | 21503 |
夜神模拟器 | 62001 |
海马玩模拟器 | 26944 |
网易mumu | 7555 |
Bluestacks | 5555 |
雷电模拟器 | 5555 |
Genymotion | 5555 |
腾讯手游助手 | 5555 |
天天模拟器 | 6555 |
- step3:检测设备是否连接上
文章图片
如上显示,就表示设备已经成功链接上。
Android真机连接真机的连接步骤跟模拟器会有很大的差异,具体如下:
- step1:通过USB线将真机连接到PC端
- step2:打开开发者模式,操作步骤:打开设置->
关于手机->
连续点击五次版本号
文章图片
注意:不同的真机打开此模式的操作步骤会有些不同,以小米手机为例:打开设置-> 我的设备-> 全部参数-> 连续点击"MIUI版本"
文章图片
- step3:打开USB调试模式,操作步骤:进入到设置-> 开发者选项-> 调试-> 勾选USB调试,小米手机入口是在设置-> 更多设置-> 开发者选项
文章图片
跳出来如下提示框,点击确定
文章图片
特别注意!!!
当上述窗口关闭了之后,会自动跳出来如下提示窗口,必须要保证这个提示窗口是出来的
文章图片
勾选“一律允许使用这台计算机进行调试”-> 点击确定
- step4:检测设备是否链接上
文章图片
adb常用命令adb --help
查看帮助手册
adb devices
查看连接到PC的android设备
【App自动化05-adb】adb shell
登录设备shell(命令行的人机界面),在当前环境中就可以使用到很多linux相关命令了,如:cd、ls、cp等等,相当于在cmd窗口远程执行linux命令。
adb pull < 手机路径> < 电脑路径>
从手机中拉取信息放到本地电脑上,手机路径可以通过adb shell进入到shell环境中,通过cd、ls这些命令找到对应的文件,如将QQ这个apk安装包拉取放到D盘下的test目录:
文章图片
adb push < 本机路径> < 手机路径>
从本地推送信息到手机上去,如:
文章图片
adb install *.apk
为了获取apk的安装包所在地址,可以直接用鼠标把apk文件拖到cmd窗口获取,返回success就说明安装成功了。
文章图片
adb install -r *.apk
保留数据和缓存文件,重新安装apk
adb shell dumpsys activity | find "mFocusedActivity"
查看前台应用包名和类名(包名:android系统给到应用的标识,类名:一个页面的标识)
adb uninstall < 包名>
卸载某个应用,后面就需要加上对应的包名
adb uninstall -k < 包名>
卸载应用但保留数据和缓存文件
adb kill-server
终止adb服务
adb start-server
启动adb服务,通常在adb出现问题时,结合kill-server一起来重启adb服务
adb shell pm list packages
列出当前系统里面所有的包名
-s 列出系统apk路径及包名
-3 列出用户apk及包名
adb logcat
抓取android日志,这个也是对我们非常有用的命令,通过logcat日志,在app发生异常时,如crash/无响应这种,都可以在logcat里面定位到相应的信息
adb connect/disconnect
对于模拟器,可以使用该命令进行连接/取消连接;
对于真机,可以使用该命令通过WiFi进行远程调试,在进行设置之后我们就可以不需要通过USB线将手机连接到电脑了:
1、确保手机和电脑处于同一网络中(连接的同一个路由器);
2、将手机通过usb线连接到电脑;
3、输入adb tcpip 5555来确定手机与电脑远程通讯的端口号;
4、拔掉usb线;
5、再通过adb connect 加上你自己手机的ip地址来进行连接,如果想要取消连接,直接使用adb disconnect命令即可。
推荐阅读
- 微信小程序中使用vant-weapp中时间控件默认显示每月1号
- Android 广播介绍与service一起使用案例
- 在create-react-app脚手架上实现Ant Design按需加载
- R-多元线性回归示例详细步骤(图解)
- R逻辑回归示例图解
- R线图示例图解
- R线性回归实现详细步骤
- 安装R编程环境详细部署(图解)
- R JSON文件操作详细图解