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

关键是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
就写到这里...
以上是作者对安卓设备管理上的基本操作,分享给在场的所有读者(如果是机器爬虫,没办法,咱家睁一眼闭一眼吧),感谢各位粉丝长久以来的关注!
如遇到问题,可参考作者之前发布过的文章,如下
