### adb 命令行的使用
官方文档讲解
查看adb版本信息:
adb version
关闭adb服务:
adb kill-server
开启adb服务
adb start-server
查看连接的设备
adb devices
安装test.apk(路径为盘根目录)
adb install E:\test.apk
卸载test.apk(包名:com.test)
adb uninstall com.test
test.apk设备中已经存在,重新安装(其实就是先卸载,再安装)
adb install -r E:\test.apk
test.apk在设备已经存在,需要保留缓存数据后卸载应用程序
adb uninstall -k com.test
连接多个设备时,只选择某一个设备安装test.apk(其中一个设备名字:B6G9GLGI8J0W8)
adb -s B6G9GLGI8J0W8 install E:\test.apk
列出目标设备上的activity栈(back stack)和任务(task)的信息, 还有其他组件的一些信息和一些关于进程的信息
adb shell dumpsys activity
列出一些系统信息和所有应用的信息。这个命令的输出很庞大,在三星nexus上的输出有12000多行。这些信息
都非常详细,包括Features,Activity Resolver Table等。
adb shell dumpsys packages
列出设备上的所有权限
adb shell pm list permissions
列出设备上所有应用的包名
adb shell pm list packages
列出设备上所有的Features(不知道是用来干什么的)
adb shell pm list features
启动指定应用的某个Activity(包名:com.example)
adb shell am -start -n com.example/.MainActivity
在这里有可能会遇到一个java.lang.SecurityException: Permission Denial: starting Intent的异常,这是由于要启动的这个Activity没有添加android:exported="true"这个属性,导致不能通过第三方来启动。
截屏
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
点亮/关闭 屏幕(相当于点击电源开关)
adb shell input keyevent 26
解锁屏幕(有密码无效,只能进入输入密码的界面)
adb shell input keyevent 82
清除APP数据(package:com.example)
adb shell pm clear com.example
在命令行窗口打印log(停止:Ctrl + Z)
adb logcat
使用命令行打印log,并使用Tag进行过滤(TAG为EXAMPLE)
adb logcat -s EXAMPLE
命令行窗口中使用LOG级别来过滤log
adb logcat "*:W"