在Android开发过程中,为了开发效率和解决一些奇葩问题,经常需要使用到ADB命令,比如需要快速查看应用的内存占用情况,快速安装或卸载一个应用,截屏录屏等功能,因此下面整理了一些常用的adb命令集合和每个指令具体用法。
ADB命令分类:adb命令分为“shell命令”和 “非shell命令”。
shell命令:在运行具体指令操作之前需先运行“adb shell”。
非shell命令:直接用abd shell运行的命令。
- shell命令:所谓shell命令就是在运行具体指令操作之前需先运行“adb shell”,比如:
$ adb shell
$ pm install /sdcard/test.apk
下面是shell命令集合:
1. pm install + [apk文件]
说明:安装设备中的apk文件。
用法举例:
$ adb shell
$ pm install /sdcard/test.apk
2. pm uninstall + [packagename]
说明:卸载已安装应用。
用法举例:
$ adb shell
$ pm uninstall com.cozing.test
3. pm clear + [packagename]
说明:清除指定包名的应用数据,相当于去设备的设置界面清除数据。
用法举例:
$ adb shell
$ pm clear com.cozing.test
4. am start -n + [packagename] 或 am start -n + [packagename + activity]
说明:启动一个应用 / 启动一个应用并跳转指定activity。
用法举例:
$ adb shell
$ am start -n com.cozing.test
或 am start -n com.cozing.test.FirstActivity
5. am startservice -n + [packagename + service]
说明:启动一个服务。
用法举例:
$ adb shell
$ am startservice -n com.cozing.test.firstService
6. am broadcast -a + [broadcast action]
说明:发送一个广播,当定义了一个广播接受者需要测试时,可以使用此命令模拟发送广播。
用法举例:
$ adb shell
$ am broadcast -a android.NET.conn.CONNECTIVITY_CHANGE
7. netcfg
说明:查看设备的的ip地址。
用法举例:
$ adb shell
$ netcfg
8. netstat
说明:查看设备端口号信息。
用法举例:
$ adb shell
$ netstat
- 非shell命令:所谓非shell命令就是运行命令时直接 adb shell + 条件指令的adb命令,比如:
$ adb shell screencap
下面是非shell命令整理:
1. adb install + [apk文件]
说明:将应用安装到设备。
用法举例:
$ adb intall C:\desk\cozingtest.apk
2. adb uninstall + [packagename]
说明:卸载应用
用法举例:
$ adb unintall com.cozing.test
3. adb pull + [设备目录文件] + [本地目录]
说明:将设备中的文件拷到本地。
用法举例:
$ adb pull /sdcard/test.text D:\
4. adb push + [本地目录文件] + [设备目录]
说明:将本地文件拷到设备中。
用法举例:
$ adb intall D:\test.text /sdcard
5. adb shell screencap -p + [图片存储路径]
说明:截屏
用法举例:
$ adb shell screencap -p /sdcard/test.png
6. adb shell screenrecord + [视频存储路径]
说明:录屏
用法举例:
$ adb shell screenrecord /sdcard/test.mp4
7. adb shell input text + [需要输入的文本内容]
说明:输入文本内容,用法:先在设备上获取输入文本框的焦点,然后运行该命令。
用法举例:
$ adb shell input text 'HelloWorld'
8. adb forward + [(远程端)协议:端口号] + [(设备端)协议:端口号]
说明:设备端口转发 。
用法举例:
$ adb forward tcp:8080 tcp:26789
9. adb jdwp
说明:列出设备中可以被调试的应用的进程号。
用法举例:
$ adb jdwp
10. adb logcat
说明:查看当前日志信息。
用法举例:
用法1:
$ adb logcat -i cozing
用法2:
$ adb logcat |findstr com.cozing.test
11. adb shell dumpsys activity top
说明:查看当前应用的activity详细信息。
用法举例:
$ adb shell dumpsys activity top
12. adb shell dumpsys package + [packagename]
说明:查看指定包名的应用的详细信息(相当于该应用的AndroidManifest.xml内容)。
用法举例:
$ adb shell dumpsys package com.cozing.test
13. adb shell dumpsys meminfo + [packagename/进程id]
说明:查看指定包名的应用或指定进程id的应用的内存信息。
用法举例:
$ adb shell dumpsys meminfo com.cozing.test
14. adb shell dumpsys dbinfo + [packagename]
说明:查看指定包名的应用的数据库信息。
用法举例:
$ adb shell dumpsys dbinfo com.cozing.test
15. adb shell wm size
说明:查看手机的屏幕尺寸,如:1920*1080。
$ adb shell wm size
16. adb shell wm density
说明:查看手机的像素密度,如:1080。
$ adb shell wm density
参考:
1. 四哥(姜维)的逆向小黄书:《Android应用安全防护和逆向分析》