安卓开发,android studio,sdk,apk,这些名字在安卓开发中并不陌生。
adb的全称是:android debug bridge,即安卓调试桥。如字面意思adb工具就是用来调试安卓设备的,再具体一点就是通过pc来连接控制安卓设备;
1.下载与安装
下载地址:adb工具下载-windows
设置环境变量:从以上链接下载对应安装包后,解压到自定义目录,打开文件夹,可以看到
adb.exe
文件,所以接下来的就是将该目录加入到全局环境变量中,这样就可以在命令行中直接使用;-
检查是否安装成功:
adb version
Android Debug Bridge version 1.0.41
Version 31.0.3-7562133
Installed as D:\platform-tools\adb.exe</pre>- 显示如上结果则表示安装和设置成功。
2.adb使用场景
连接电脑上安装的安卓模拟器。在通过AS运行安卓程序时可选择第三方安卓模拟器进行。(Android Studio是极其占用资源的,配置低的电脑用AS自带的模拟器,容易卡死,第三方模拟器可以较有效处理这个问题)
连接安卓手机。安卓系统都有一个开发者模式,开启开发者模式中的usb调试后,使用adb工具能对安卓系统进行一定的操作。(比如:常见的操作有返回,主页,安装应用,打开应用,熄屏,亮屏)
3.adb的常用指令
开启和关闭adb服务:
adb start -server
和adb kill-server
。网上大部分资料都把这两条指令作为了第一条,但主观认为这两条命令基本不会用上;因为已经设置了adb的全局环境变量,只要在命令行使用adb指令自然就启动了(未连接设备状态),另外在连接设备成功后,adb的调试功能也会自动启动(正常调试状态);-
连接安卓设备:
adb connect [ip]:端口
本机模拟器的话,不同模拟器开启的端口不同,但ip都设为127.0.0.1;安卓设备的话,存在两种连接方式:有线连接和无线连接;有线连接:使用usb线将安卓设备与pc相连。pc确保可以正常运行adb工具,安卓设备确保开启了开发者模式(不同品牌手机开启方式不同,可以自行查询,比如:vivo
设置
-系统管理
-关于手机
-软件版本号
7次以上)并将usb调试功能打开(vivo开启开发者模式后,返回到系统管理
界面可以看到开发者选项
,将usb调试功能打开)。连接后,pc端通过命令行启动adb,这时安卓设备一般会提示是否运行usb调试?
,选择允许后,adb工具设备列表可以正确显示当前连接设备;无线连接:确保pc和安卓设备在同一局域网内,查看安卓设备的ip信息,因为还缺少端口信息,根据设备的初始设定不同,有的设备预定义了端口,查阅相关文档资料可以找到;而有的设备需要自行定义相应端口,如个人移动设备,在有线连接成功的基础上使用
adb tcpip 端口
就可以将调试端口设定为自定义的端口;
查看连接设备:
adb devices
。检测设备是否连接成功可以通过该指令进行查看,需要注意的是,对应设备序列或ip信息后的状态栏信息:如果是unauthorized
一般是因为未在安卓设备上进行usb调试授权,device
则表示被正常连接;另外adb一次只能控制一台设备,所以当列表中有多台设备的时候,就需要将不操作的设备断开连接adb disconnect ip:端口
;点亮屏幕
adb shell input keyevent 224
熄灭屏幕
adb shell input keyevent 223
按下返回键
adb shell input keyevent 4
按下HOME键
adb shell input keyevent 3
按下电源键
adb shell inpuy keyevent 26
查看应用列表
adb shell pm list packages
启动应用
adb shell monkey -p <packagename> -c android.intent.category.LAUNCHER 1
强行退出应用
adb shell am force-stop <packagename>
拨号
adb shell am start -a android.intent.action.DIAL -d tel:10086
通话
adb shell am start -a android.intent.action.CALL -d tel:10086
点击坐标
adb shell input tap x坐标 y坐标
* 如果能获取安卓应用中每个操作项的具体坐标就能通过点击操作对整个应用进行操作;
- 两点画线
adb shell input swipe 坐标1:X轴坐标 坐标1:Y轴坐标 坐标2:X轴坐标 坐标2:Y轴坐标
* 安卓组件的布局方式为了保证其通用性,一般采用的是相对布局的方式,但对应到用户的操作,使用的是绝对坐标;而对于屏幕绝对坐标的获取,除了逐个范围调试外,开发者模式中能够开启报点功能。
3.项目实操
在安卓设备的画板上打印输出HELLO字样,并保存。
-
准备功能
pc安装adb工具并在确保在命令行可操作执行;
安卓设备开启开发者模式并打开usb调试功能;
pc和安卓连接到同一局域网以确保adb工具可连接安卓设备;
-
具体实现
连接安卓设备;
查看安卓设备中的应用列表;
打开画板类应用;
使用两点画线绘制字样;
使用单点点击选中保存功能;
退出应用;
命令行单命令调试,整合形成脚本文件(
.bat
);
-
效果检查
画线过程中查看报点情况;
查看保存文件内容;
-
功能优化
cmd下的单命令执行效率较低,每个坐标都是逐个输入的。powershell是cmd的功能升级,可执行一定的编程脚本,如创建变量或循环执行;为提高操作的复用性,可以抽取打印字样的相同点,编写相应的接口函数(如横线,竖线……);
bat文件与powershell的结合使用,需要另外查找相关资料;
-
最终效果展示
HELLO字样.jpg