【Android】adb常用的命令用法详解

有一次我去上门拜访亲戚家就有意想不到的收获,仿佛在沙砾中淘到黄金,亲戚家换了新手机,旧手机就闲置不用了,同意把旧手机给了我,现我手里有很多闲置的手机,需要通过电脑来管理它们是个问题,好在我经过长期的捣鼓和研究,顺利的管理起来,做什么用呢,具体用途不便透露,但可以分享一些实用经验,帮助有类似需求的人更好地管理闲置设备。

在电脑上打开一个文件夹,里面包含了以下文件,如下图

关键是adb.exe文件

这是解压后的安卓系统adb调试工具文件,这些都要自己准备好,在Android Studio开发工具的SDK文件夹中能找到它们,若读者自己没有的话就去网上找来用就行

文章目录

可以用电脑上的Windows Shell终端,或者CMD程序输入命令操作,

如果是Windows10以上的系统,Shell终端调用程序的命令前面要加上./

例如,查看adb版本命令

bash 复制代码
./adb --version

操控设备

打开安卓系统手机的设置-开发者选项,勾选Adb调试开关,用原装数据线连接手机和电脑的USB口,

此时电脑会有反应,手机弹出提示是否运行Adb调试,允许即可

扫描设备

在电脑打开的文件夹下,鼠标右键打开CMD终端,

确保手机自带的USB数据线到连接到电脑,在终端执行一个命令,查看是否连接上

bash 复制代码
adb devices

扫描结果的如aeb0000erc device,是表示设备序列号和设备状态

连接设备

接下来实验如何连接设备

查看IP地址

要确保手机有连接WIFI,查看手机WiFi的IP命令

bash 复制代码
adb shell netcfg

或者

bash 复制代码
adb shell ifconfig wlan0

如果连接的安卓系统设备超过一个,就要指定列表中的序列号,就可以控制其中一个

bash 复制代码
adb -s aeb0000erc ...

指定设备用它的序列号aeb0000erc,可以是IP地址

无线连接

知道IP地址后,例如192.168.111.104,尝试连接命令

bash 复制代码
adb connect 192.168.111.104

IP可以是序列号;

如连不上IP,就试试设置端口命令adb tcpip 5555

再试adb connect 192.168.111.104:5555

连接状态

要查看连接状态,就输入

bash 复制代码
adb devices

当用WiFi连接成功,会显示IP,不再是序列号

断开连接

要断开连接,就输入

bash 复制代码
adb disconnect 192.168.111.104

IP可以是序列号

连接操作

若连接多个设备对其中一个进行操作,命令就像这样

bash 复制代码
adb -s 192.168.101.37:5555 shell ...

命令带 -s 指定被控的设备

当然,可以改用USB数据线来连接操作,

命令就是把上面的命令中的IP替换成序列号即可

WIFI连接和USB连接各有优缺点,

  • WIFI连接是否稳定,受连接的路由器WIFI影响;
  • USB连接是否稳定,受数据线或HUB集线器处理分发速度的影响;

查看设备

当开发一个连接设备管理的软件,查看设备信息的命令是要用到的,用来显示连接的设备大小和基本信息,让管理者好分辨

屏幕大小

列出当前显示的分辨率

powershell 复制代码
adb shell wm size

电池电量

列出电池状态

powershell 复制代码
adb shell dumpsys battery

运行状态

列出内存状态

powershell 复制代码
adb shell dumpsys meminfo

列出CPU状态

powershell 复制代码
adb shell dumpsys cpuinfo

列出帧率状态

powershell 复制代码
adb shell dumpsys gfxinfo

列出显示屏状态

powershell 复制代码
adb shell dumpsys display

控制设备

休眠

安卓设备是移动设备,自带电源,为了省电,系统默认都会休眠待机的,

为了持续保持被控制,不影响操作,

需要设置不休眠,命令如下

powershell 复制代码
adb shell svc power stayon true

设置可休眠,即可恢复原本的样子

powershell 复制代码
adb shell svc power stayon false

重启

若发现设备不受控制,变卡了,试试重启万能大法

powershell 复制代码
adb reboot

关机

若不想用了,记得关机

powershell 复制代码
adb reboot -p

开机命令呢,就别想了!

可能你那个朋友还年轻呢又是误操作导致关机,但没有删库跑路 来的严重些,

若到来的那时候就辛苦一下,跑过去按下设备开机键~

接下来模拟操作,

要通过电脑来控制安卓设备来操作屏幕,

那些网上的安卓设备投屏软件装在电脑上就是这样实现的

输入内容

模拟输入内容,例如"001"

bash 复制代码
adb shell input text "001"

如果输入中文字符那可能有问题,解决方案可参考网上的

按键

模拟按下home按键

bash 复制代码
adb shell input keyevent 3

这里贴一下常用到的keyevent按键对照表

keyevent 说明
3 home主页键
4 back返回键
24 音量+键
25 音量-键
26 powder电源键
187 后台任务键
... ...

触摸点击

模拟触摸点击屏幕的位置

bash 复制代码
adb shell input tap 540 1104

指向在屏幕上的点位置坐标(540, 1104)

模拟触摸滑动,从(250,250)滑动到(300,300)

bash 复制代码
adb shell input swipe 250 250 300 300

想象一下手指在屏幕上触摸的开始点到结束点

还可以,加上滑动时间(单位毫秒)为 1000 ms

bash 复制代码
adb shell input swipe 250 250 300 1000

这样可表示匀速滑动的快与慢

文件管理

若要在电脑管理设备上的文件,存储和备份资料...

手机连接电脑时会提示文件管理可选,这个功能如果能满足你的要求,就不用考虑自己再实现文件管理了,
如果这不满足的话,可以自己定制开发,例如实现手机变身为NAS系统的文件管理功能的扩展存储

查看文件夹

如同用Linux命令终端,操作文件,

查看设备的内部存储目录文件列表,输入命令如下

bash 复制代码
adb shell ls /sdcard

查看文件夹及下面内容:

bash 复制代码
adb shell ls /data/local/tmp/local/tmp

如果提示:No such file or directory 说明文件夹不存在;

新建文件夹

bash 复制代码
adb shell mkdir /data/local/tmp/local

注意:新建多级的文件夹一次只能创建一级文件夹

删除文件夹

删除tmp文件夹及下面所有文件(可行!)

bash 复制代码
adb shell rm -r /data/local/tmp/local/tmp
bash 复制代码
adb shell rmdir /data/local/tmp/local/tmp

如果不为空,则删除不了,报:Directory not empty

删除文件夹下所有的文件

bash 复制代码
adb shell rm /data/local/tmp/local/tmp/*.*

删除文件夹下所有的xml文件

bash 复制代码
adb shell rm /data/local/tmp/*.xml

导出文件

如果导出文件到电脑上(本地文件夹),命令为

bash 复制代码
adb pull /sdcard/01.png E:\AA

导出图片到本地;

导出文件到当前文件夹

bash 复制代码
adb pull /sdcard/01.png ./

./是指向打开CMD终端时所在的文件夹

导入文件

如果要将当前的本地文件,导入(推送)到设备上,命令如下

bash 复制代码
adb push ./folderName/test.js /sdcard/folderName

删除文件

删除设备上的文件,命令如下

bash 复制代码
adb shell rm  /sdcard/folderName/test.js

新建文件

如果你为了省电,把不允许休眠的手机一直亮着的屏幕给拆掉了,想要看屏幕的内容,

可以生成截图文件,将当前的屏幕显示截图,生成一个图片文件,命令如下

bash 复制代码
adb  shell  screencap  /sdcard/01.png

把截图文件存到设备sdcard上

查找文件

文件过多,可以查找过滤的,命令如下

bash 复制代码
adb shell find / -name test.js

应用管理

这对设备系统或应用开发者来说是有用的,为了管理很多连接的设备,调试自己开发的APP在不同设备上运行的兼容性能如何,有它操作的可提升工作效率

安装应用列表

获取应用列表

bash 复制代码
adb shell pm list packages

安装应用

bash 复制代码
adb install debug.apk

其中debug.apk 就是文件名,如不在当前文件夹中,需要在文件名前面加上文件路径

通常会遇到安装失败的情况,试试如下命令

bash 复制代码
adb install -r debug.apk

其中-r就是指覆盖安装

卸载应用

bash 复制代码
adb uninstall debug.apk

打开应用

先查看应用入口,查看前要打开应用

bash 复制代码
adb shell dumpsys window windows | findstr "Current"

注意上面是在cmd窗口下可用,

若在其它如java或者代码中执行,就改用以下可行

bash 复制代码
adb shell dumpsys window windows | grep "Current"

打开指定应用,系统设置

bash 复制代码
adb shell am start com.android.settings/.HWSettings

关闭应用

关闭应用,系统设置

bash 复制代码
adb shell am force-stop com.android.settings

就写到这里...

以上是作者对安卓设备管理上的基本操作,分享给在场的所有读者(如果是机器爬虫,没办法,咱家睁一眼闭一眼吧),感谢各位粉丝长久以来的关注!

如遇到问题,可参考作者之前发布过的文章,如下

相关推荐
贺biubiu10 小时前
2025 年终总结|总有那么一个人,会让你千里奔赴...
android·程序员·年终总结
xuekai2008090111 小时前
mysql-组复制 -8.4.7 主从搭建
android·adb
nono牛12 小时前
ps -A|grep gate
android
未知名Android用户13 小时前
Android动态变化渐变背景
android
nono牛14 小时前
Gatekeeper 的精确定义
android
stevenzqzq15 小时前
android启动初始化和注入理解3
android
城东米粉儿17 小时前
compose 状态提升 笔记
android
粤M温同学17 小时前
Android 实现沉浸式状态栏
android
ljt272496066118 小时前
Compose笔记(六十八)--MutableStateFlow
android·笔记·android jetpack