一、adb介绍

adb:AndroidDebugBridge,Android调试桥的缩写,adb是一个C/S架构的命令行工具,

主要由3部分组成:

运行在PC端的Client:可以通过它对Android应用进行安装、卸载及调试

运行在PC端的Service:其管理客户端到Android设备上adb后台进程的连接

运行在Android设备上的adb后台进程

二、ADB安装

默认电脑已经安装SDK的,如果没有也可以直接网上下载一个adb工具包。

假定pc上adb工具所在目录:

H:\rxw\windows\adb_fastboot

将adb路径添加到环境变量中(这台电脑→属性→高级系统设置→环境变量)


添加完保存就可以输入命令验证了windows+R打开cmd输入adb,出现版本号及菜单即配置完成

C:\Users\:\rxw\windows\adb_fastboot\:-alistenonallnetworkinterfaces,notjustlocalhost-duseUSBdevice(errorifmultipledevicesconnected)-euseTCP/IPdevice(errorifmultipleTCP/IPdevicesavailable)-sSERIALusedevicewithgivenserial(overrides$ANDROID_SERIAL)ordevicesdevpathlike:adb-s"\\?\usb63795fe8211susu/system/bin/sh:su:inaccessibleornotfound127|OnePlus9Pro:/

把里面的有效内容提取出来就是IMEI了,比如这里的是001008447691207。

退出adbshell方式:

输入exit即可
17)Android系统版本

如:

C:\Users\
18)IP地址

设备的IP地址的时候都得「设置」-「关于手机」-「状态信息」-「IP地址」很烦对不对?通过adb可以方便地查看。

adbshellifconfig|grepMask

如:

inetaddr:10.130.245.230Mask:255.255.255.252inetaddr:127.0.0.1Mask:255.0.0.0

那么10.130.245.230就是设备IP地址。

在有的设备上这个命令没有输出,如果设备连着WiFi,可以使用如下命令来查看局域网IP:

adbshellifconfigwlan0

如:

C:\Users\Administratoradbshellifconfigwlan0wlan0Linkencap:EthernetHWaddra6:44:63:ac:88:7eDrivercnss_pciinetaddr:10.20.1.158Bcast:10.20.1.255Mask:255.255.254.0inet6addr:fe80::a444:63ff:feac:887e/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:21765errors:0dropped:2overruns:0frame:0TXpackets:11168errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:3000RXbytes:6121620TXbytes:3229281

inetaddr:10.20.1.158就是ip地址。

19)Mac地址
adbshellcat/sys/class/net/wlan0/address

如:

C:\Users\Administratoradbshellcat/sys/class/net/wlan0/addressa6:44:63:ac:88:7e

这查看的是局域网Mac地址,移动网络或其它连接的信息可以通过

adbshellnetcfg命令来查看
20)CPU信息
adbshellcat/proc/cpuinfo
21)内存信息
adbshellcat/proc/meminfo

其中,MemTotal就是设备的总内存,MemFree是当前空闲内存。

22)屏幕截图screencap

其中-p指的是保存文件格式为png格式,为指定的文件名

然而实测这个截的图片,无法打开。参考链接:link

可以使用下面的方式:

先截图保存到设备里:

adbshellscreencap-p/sdcard/

然后将png文件导出到电脑:

adbpull/sdcard/
23)录制屏幕screenrecord

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

adbshellscreenrecord/sdcard/

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

如果需要导出到电脑:

adbpull/sdcard/

开发过程与产品或测试沟通经常用到(异地办公时)

24)设置系统日期和时间

注:需要root权限。

表示将系统日期和时间更改为2023年05月29日13点15分00秒。

25)检测设备是否已root
adbshellsu

此时命令行提示符是$则表示没有root权限,是#则表示已root。

26)使用Monkey进行压力测试

Monkey可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。

简单用法:

adbshellmonkey-ppackagename-v500

表示向指定的应用程序发送500个伪随机事件。

27)模拟按键/输入input

adbshell里有个很实用的命令叫input,通过它可以做一些有趣的事情。

adbshellinputkeyeventkeycode

不同的keycode能实现不同的功能

项目Value

3HOME键

4返回键

5打开拨号应用

6挂断电话

24增加音量

25降低音量

26电源键

27拍照(需要在相机应用里)

82菜单键

85播放/暂停

86停止播放
87播放下一首

88播放上一首

122移动光标到行首或列表顶部

123移动光标到行末或列表底部

126恢复播放

127暂停播放

164静音

176打开系统设置

187切换应用

207打开联系人

208打开日历

209打开音乐

210打开计算器

220降低屏幕亮度

221提高屏幕亮度

223系统休眠

224点亮屏幕

231打开语音助手

276如果没有wakelock则让系统休眠

28)网络连接connect

除了用usb连接安卓设备之外,还可以通过网络来连接首先确认pc和设备是网络互通的,然后使用下面命令:

:5555adbshell