##常规部分
搜索设备
adb devices
adb无线连接
adb connect [ip地址:5555]
进入交互窗口
adb shell
退出交互窗口
exit
安装应用
adb install patch_to_apk
-r
更新软件 adb install -r patch_to_apk
-s
安装到sdcard adb install -r patch_to_apk
卸载应用
adb uninstall [包名]
-k
卸载软件但保留配置和缓存文件 adb install -r patch_to_apk
将文件复制推到设备/从设备复制文件下来
adb push local remote
adb pull remote local
重启设备
adb reboot
重新挂载分区
adb remount
- 重新挂载system分区,实现对system分区重新挂载,重新挂载的时候将修改分区的属性,常见的修改参数为分区的读写。
- 使用该命令主要是因为android系统的system分区在启动之后是只读分区,但在开发过程中需要对system分区进行修改,则需重新挂载成读写模式。
- 相当于
adb shell mount -o rw,remount,rw /system
打印linux内核log信息
adb shell dmesg > D:/kernel.log
使用技巧
dmesg -C;dmesg -w > /data/kernel.txt &
显示全部prink函数打印的信息
adb shell
后执行 cat /proc/kmsg
第一次执行/proc/kmsg 打印到当前时间的所有内核信息,再次执行cat /proc/kmsg,不会再打印已经打印的信息,只打印上一次执行之后打印出来的新的信息。
获取设备ID和序列号
adb get-product
adb get-serialno
监听属性变化
adb shell watchprops
获取设备所有apk包名
adb shell pm list package -f | grep ""
通过点击应用获取包名
输入 adb shell am monitor
后,在点击需要查看包名的应用,窗口会输出对应的包名
如何获取PC端的apk的包名 aapt dump badging [apk路径] (此方法是查看PC上的apk的包名,aapt这个工具在SDK-build-tools目录下,复制粘贴platfrom-tools路径下)
通过包名查看对应apk所在的路径
adb shell pm path [包名]
通过包名获取活动名
打开应用 am start com.android.gallery3d
输入dumpsys activity | grep mFocus
模糊查找包名
进入 adb shell
输入 dumpsys activity | grep 包名
根据包名kill掉应用
进入 adb shell
输入 am force-stop 包名
截取屏幕截图
screencap命令是一个用于对设备显示屏的截图shell实用程序。
adb shell screencap /sdcard/screen.png
录制屏幕
adb shell screenrecord /sdcard/demo.mp4
按 Ctrl + C 键(在 Mac 上,按 Command + C 键)停止屏幕录制;否则,到三分钟或 --time-limit 设置的时间限制时,录制将自动停止。
am部分
查看activity的Stack情况(查看ActivityManagerService属性)
adb shell am stack list
当前显示最前端的Activity stack一般是第一个输出的Stack id=4
pm部分
dumpsys部分
获取当前具有焦点的活动(其实就是当前可操控的窗口)
dumpsys activity | grep mFocu
同 adb shell dumpsys window | findstr mCurrentFocus