前言:

写篇文章,来简单讲下adb。

正文:

一、关于adb。

adb,即Android Debug Bridge,也就是Android调试桥。

adb是一个C/S架构的命令行工具。它主要由3部分组成:

  1. 运行在PC端的Client:可以通过它对Android应用进行安装、卸载以及调试。比如说AndroidStudio中带的adb.exe。
  2. 运行在PC端的Service:其管理客户端到Android设备上adb后台进程的连接。adb服务启动后,Windows可以在任务管理器中找到adb.exe这个进程。
  3. 运行在Android设备上的adb后台进程。

adb使用的端口号默认为:5037。我们可以通过adb命令adb nodemon server查看adb的端口号。

二、adb命令。关于adb命令我们可以分为adb命令、adb shell命令。

adb命令:

1、获取设备列表及设备状态:

adb devices

2、获取设备状态:

adb get-state(这个只能用于当前只有一台设备的情况)

3、打印Android的系统日志:

adb logcat >d:\test\logcat.log

4、打印dumpsys、dumpstate、logcat的输出,也是用于分析错误输出到文本内:

adb bugreport >d:\test\bugreport.log

5、使用adb命令直接在终端(控制台)上查看/显示应用日志

adb logcat AppLog:I *:S

在终端上显示应用中日志标签为AppLog并且日志级别不低于I的所有日志。

6、安装应用:

adb install apk全路径

7、卸载应用:

adb uninstall 应用的包名

8、重启Android设备:

adb reboot

9、通过tcpip方式进行adb调试:

adb connect ip:port

断开连接:

adb disconnect

让设备的某个端口处于监听状态:

adb tcpip port(得先通过USB数据线连接上设备)

......

adb shell命令:

1、查看当前运行的Activity:

adb shell logcat | findstr ActivityManager

2、查看所有应用:

adb shell pm -l

3、查看内存信息:

adb shell dumpsys meminfo 应用的包名

4、主屏按键回到桌面(回到桌面)

adb shell input keyevent 3

5、返回上一个界面(模拟物理返回键)

adb shell input keyevent 4

6、杀死进程

(1)停止APP进程,并且清除这个APP进程产生的所有数据,相当于reset

adb shell pm clear package

执行该命令后输出success即表示命令执行成功,app进程被杀死,且会清除所有

数据,相当于卸载重装的效果,一般不建议使用。

(2)强制停止APP进程,不会清除APP进程在系统中产生的数据

adb shell am force-stop package

执行该命令后没有输出,手机对应进程已被杀死。

7、查看进程

adb shell ps|findstr package

8、仅隐藏虚拟键

adb shell settings put global policy_control immersive.navigation=*

9、恢复虚拟键

adb shell settings put global policy_control null

10、查看cpu处理器架构

adb shell getprop ro.product.cpu.abi

11、查看系统的build.prop文件(build.prop文件中包含设备型号等一系列信息)

adb shell

进入shell以后,再输入cat /system/build.prop

12、退出adb shell

exit

13、通过adb shell将电脑上的文件传输到手机上

adb push 电脑上的文件的目录 手机上的目录

比如 adb push C:\Users\dell\Desktop\data /storage/emulated/0/xxx/xxx_xxxxxx/

14、定位目录、查看目录

adb shell

进入shell以后,再输入cd 目录

比如cd /storage/emulated/0

cd xxx/xxx_xxxxxx/

再输入ls (ls用来打印出当前目录的清单)

15、显示当前所在工作目录的全路径

adb shell

进入shell以后,再输入pwd

16、将手机上的文件复制到电脑上

adb pull 手机上的目录 电脑上的目录

17、截图并导出到电脑

截图:adb shell screencap /sdcard/1.png (注意:执行该命令前需要先保证具有对该文件夹的写入权限)

导出:adb pull 设备上的目录 电脑上的目录(比如:adb pull /sdcard/1.png E:\图表)

18、录屏并导出到电脑

录屏:adb shell screenrecord /sdcard/screen.mp4 (注意:执行该命令前需要先保证具有对该文件夹的写入权限)

导出:adb pull 设备上的目录 电脑上的目录(比如:adb pull /sdcard/screen.mp4 E:\video)

补充:

执行录屏命令后会一直进行录屏,直到录屏时间上限,可以通过ctrl+c结束录屏。

adb shell screenrecord --time-limit 20 /sdcard/screen.mp4

如上,可以通过--time-limit 20来指定录屏时间,如果不指定,默认是180s。

19、删除文件

adb shell rm /sdcard/1.png(删除sdcard根目录下的文件名为1.png的文件)

adb shell rm /sdcard/*.png(删除sdcard根目录下的所有文件后缀为.png的文件)

20、查看当前运行的应用的包名和Activity

adb shell dumpsys window w |findstr \/ |findstr name=

21、查看设备的宽高

adb shell wm size

22、查看设备的窗口显示相关信息

adb shell dumpsys window displays

23、查看设备cpu信息

先adb shell进去,

然后执行cat /proc/cpuinfo

24、查看详细的内存信息

先adb shell进去,

然后执行cat /proc/meminfo

25、查看文件夹大小

先adb shell进去,到了对应文件夹下,

然后执行du -sh

其中,-s 参数表示显示总大小,-h 参数表示以人类可读的形式显示大小。

26、查看文件数量

先adb shell进去,

然后执行ls -l /path/directory | wc -l

/path/directory是要查看的文件夹的路径。

该命令会显示当前目录中包含的文件数量。

如果当前在该目录,可以直接执行ls -l | wc -l

27、强制卸载

adb shell pm uninstall --user 0 包名

对于使用uninstall命令无法卸载的时候,可以尝试使用该命令进行卸载。

......

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐