本篇博客就来记录下平日工作里经常使用的 adb 命令。
1. 电量分析:
|
|
2. app_process 启动特权进程:
创建或使用一个已有的 Android 应用程序项目, 增加一个包含有 main 方法的类, 将该类编译成 class, dx 转换成 dex, 将 dex 文件 push 到 /data/local/tmp 中,再到 /data/local/tmp 中执行 app_process
12javac -source 1.8 -target 1.8 /Users/yafeng/process/Hello.javadx --dex --output=/Users/yafeng/process/Hello.dex /Users/yafeng/process/Hello.class将 dex 文件 push 到 /data/local/tmp 中:
1adb push /Users/yafeng/process/Hello.dex /data/local/tmp使用 adb shell 在手机上执行对应的 app_process 命令启动进程:
1adb shell app_process -Djava.class.path=Hello.dex /data/local/tmp Hello
3. linux 系统上连接上 adb, 但提示没有权限执行命令,则可以入下操作:
- 进入到 sdk/platform-tools 目录中;
- 切换到 root 用户;
- 执行 ./adb kill-server 即可, 然后再执行 ./adb start-server 即可;
4. 查看 apk 的具体信息:
|
|
5. 设备相关:
|
|
6. 导出堆栈信息:
|
|
7. 进程:
|
|
8. 截屏、录屏:
|
|
9. 日志:
|
|
10. 查看签名信息:
|
|
11. 手动删除 app, 只针对 root 过的手机:
- adb root后adb remount
- data/app 用户程序安装的目录,有删除权限。
- data/data 存放应用程序的数据
- adb pull /data/system/packages.xml 和 /data/system/packages.list 到本地电脑,删除这两个文件中的xxx.apk相关的项,并且删除与我们包名相同的项。
12. 端口占用解决方法:
5037 为 adb 默认端口,若 5037 端口被占用,查看占用端口的进程 PID:
1netstat -aon|findstr 5037通过 PID 查看所有进程:
1tasklist /fi "PID eq pidNumber"杀死占用端口的进程:
1taskkill /pid pidNumber /f
大概就以上这么多,后续会不断补充!欢迎指导!