a:背景

温故而知信,在我们开发android的时候,我们很多时候都是不使用adb的,因为很少涉及到直接用命令行交互的情况。但有时候adb缺是不得不用的,这个可以很方便我们去调试应用以及传递某些数据。


1:adb

一开始使用adb的时候,输入adb,回车。那么可以看到很多的命令列表。这个可以参照这个列表去学习运行adb


2:显示链接列表

使用这个命令可以显示链接到电脑设备上的手机设备和手机设备id
adb devices

List of devices attached
7C5A07B48684	device

如果多个设备一起连接,可以使用__adb -s DEVICE_ID__ 来指定一个特别的设备。


3:安装一个apk

使用命令 install 命令来安装apk,可选 __-r__参数 如果程序已经安装,那么将会重新安装并保持任何的数据不变。

adb install -r APK_FILE
example
adb install -r ~/application.apk

4:卸载一个应用程序

adb uninstall PACKAGE_NAME  
example  
adb uninstall com.tencent.mm

5:开始一个activty

adb shell am start PACKAGE_NAME/ACTIVITY_IN_PACKAGE   
adb shell am start PACKAGE_NAME/FULL_QUALIFIED_ACTIVITY   

example   
adb shell am start -n com.tencent.mm/ui.LauncherUI   
adb shell am start -n com.tencent.mm/com.tencent.mm.ui.LauncherUI   

6:进入设备的shell命令行

adb shell

6:屏幕截图

这个命令用于把手机屏幕截图然后保存到当前终端的目录下面。

adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png

7:屏幕开关

这个命令是用于发送事件给设备,然后开关屏幕。

adb shell input keyevent 26

8:解锁屏幕

这个命令是用于解锁屏幕,可和上面的屏幕电源开关一起使用。

adb shell input keyevent 82

9:打印手机上安装的包

adb shell pm list packages -f

10:清空应用程序的数据

adb shell pm clear PACKAGE_NAME

//example
adb shell pm clear com.tencent.mm

11:打印日志信息

显示log 的输入流在我们的屏幕上

根据 tagname拦截 
adb logcat -s TAG_NAME
adb logcat -s TAG_NAME_1 TAG_NAME_2

//example
adb logcat -s TEST
adb logcat -s TEST MYAPP

》》》》》

根据等级拦截   
adb logcat "*:PRIORITY"

//example
adb logcat "*:W"

这里是一些安全等级
V - Verbose (lowest priority)
D - Debug
I - Info
W - Warning
E - Error
F - Fatal
S - Silent (highest priority, on which nothing is ever printed)

》》》》》
综合上面的一起拦截
adb logcat -s TAG_NAME:PRIORITY
adb logcat -s TAG_NAME_1:PRIORITY TAG_NAME_2:PRIORITY

//example
adb logcat -s TEST: W

》》》》》
善于使用 grep 截取重要信息 

adb logcat | grep "SEARCH_TERM"
adb logcat | grep "SEARCH_TERM_1\|SEARCH_TERM_2"

//example
adb logcat | grep "Exception"
adb logcat | grep "Exception\|Error"


》》》》》
清理lagcat的缓存区
adb logcat -c 

END

更多有趣的阅读欢迎上官网链接店址