adb命令
首先有一个问题之前一直困扰我,adb shell 到底是什么?
操作系统运行的本身其实并不需要人来控制。但人需要告诉操作系统做什么,这个交互,这个程序就是shell。
图形shell:windows的开始菜单、等等
终端shell:就是那个黑框框
所以呀,这个adb shell 就是安卓设备的终端shell,进入到adb shell 模式下的时候,一切的操作做就是相当于对于这个安卓设备的操作啦。
从adb退出:exit
安装apk到安卓设备:
apk -s 设备编号 install apk的路径
-r : 覆盖原apk
若只有一个设备:
apk install apk的路径
想直接把文件放到设备里面:
adb push 要复制的文件 复制到手机里面的位置
从设备中拉文件到我们的电脑中:
adb pull 手机文件路径 需要保存到电脑的位置
下面两个命令一般不会用到,因为只要设备连接正确,会自动启动 adb server 的:
启动adb server:
adb start-server
停止adb server:
adb kill-server
列出设备中的所有apk:
apk shell pm list packages
列出系统应用的所有apk:
apk shell pm list packages -s
pm工具为包管理的简称,可以使用pm工具来执行应用的安装和查询应用的信息、系统权限、控制应用
使用grep来过滤:
adb shell pm list packages | grep qq
清除应用数据与缓存:
adb shell pm clear 包名
启动应用:
adb shell am start -n com.stormzhang.demo/.ui.SplashActivity
am 全称是activity manger,这个命令可以启动activity、打开或者关闭进程、发送广播等操作。
强制停止应用:
adb shell am force-stop 包名
查看日志:
adb logcat
ctrotrol+c 退出查看
重启:
adb reboot
查看设备型号:
adb shell getprop ro.product.model
屏幕截图并导入电脑:
adb shell screencap -p sdcard/sc.png
adb pull sdcard/sc.png
-p: 保存指定文件为png格式,实测如果指定文件名以 .png
结尾时可以省略 -p 参数;否则需要使用 -p 参数