一、常用
命令 | 作用 |
---|---|
adb reboot | 重启设备 |
adb devices | 查看当前已连接的设备数 |
adb root | 使用设备的 root 权限 |
adb remount | 重新挂载设备 |
adb push dir1 dir2 | 将自身文件放入设备中,dir1 为自己文件目录,dir2 为机器目录 |
adb pull dir2 dir1 | 将设备的文件提取出来,dir 2 为机器目录,dir1 为自己的文件目录 |
adb shell | 进入机器的 shell 中,类似linux 命令行界面 |
adb pm -l | 查看已安装的文件包 |
adb install | 安装 apk 应用程序 |
adb uninstall | 卸载 apk 应用程序 |
adb logcat --pid pid | 查看进程号为 pid 进程的 log 信息 |
adb ps -e | grep 模块名 | 查看该模块的进程信息 |
adb shell pm listpackages | 查看已安装的包名,看下 apk 安装了没有 |
adb shell kill -9 进程名 | 杀死进程号的进程,有时候需要单独重启相关进程 |
二、常用行为
1、本地 logcat 发生 EOF 挂掉,通过命令行查看当前模块的log;或是抓取 log 修改 bug。
#以下可得到该模块的进程号
adb shell ps -e | grep 模块名
#通过进程号查看 log 信息
adb shell logcat --pid 进程号
#抓取该进程号 log 日志到外部文件
adb shell logcat --pid 进程号 > 保存log的文件
#过滤内容抓取,只抓取包含过滤内容的 log 日志
adb shell logcat "过滤内容" > 保存log的文件
2、把 anr 信息文件输出到当前文件夹
adb pull /data/anr ./
3、设备的系统 apk 需要更换,尽量不使用 install,某些 apk 使用 install 无效。需要使用 push 的方法。设备路径中不允许出现两个. apk 文件,不然报错,所以要先删除再 push。同名的话不用删除,覆盖就行。
#安装之前需要先删除系统内部的 apk 文件
#先获取 root,并重新挂载,防止删除时无权限,显示只读
adb root
adb remount
#进入设备 shell 中
adb shell
su
#进入 apk 具体所在的目录,防止删除错误的 apk,通过模块名确定具体的目录
cd /system/app/具体所在的目录
#只会有一个 apk,直接补位删除就行,记住这个全路径,一会儿 push 需要使用
rm -rf ".apk文件"
#退出设备 shell,第一次退 su 界面,第二次退设备 shell
exit
exit
#push 更换的 .apk 文件
adb push 需要重新安装的.apk文件 刚刚删除了.apk文件的路径
#重启就行了,放在该路径下已经相当于安装了
adb reboot
4、安装非系统的 .apk 文件,别人打包或自己下载的。
#方式1:这种直接强制安装就行了。不想强制安装的话,先 uninstall,再 install,不要使用 -r 强制就行
adb install -r .apk文件
#方式2:使用 pm 进行安装,但是要先 push,别 push 进特殊目录就行
adb push 安装的.apk文件 设备的普通目录
adb shell
su
pm install .apk文件
5、只读没权限
#不明白为什么网上教程没用
#直接 root,然后重新挂载
adb root
adb remount
#解决
6、查看某个 apk 是否安装
//xxx 是 AndroidManifest 中 package 的值,也就是包名
adb pm -l | grep xxx
7、待增