###adb 命令
- 启动APK,在终端直接输入:
adb shell am start -n 包名/. 类名 - 关闭APK,在终端直接输入:
adb shell am force-stop 包名
###发送keyevent和文本命令行 - adb shell input keyevent {key_code}
- adb shell input text {text}
0 –> “KEYCODE_UNKNOWN”
1 –> “KEYCODE_MENU”
2 –> “KEYCODE_SOFT_RIGHT”
3 –> “KEYCODE_HOME”
4 –> “KEYCODE_BACK”
5 –> “KEYCODE_CALL”
6 –> “KEYCODE_ENDCALL”
7 –> “KEYCODE_0”
8 –> “KEYCODE_1”
9 –> “KEYCODE_2”
10 –> “KEYCODE_3”
11 –> “KEYCODE_4”
12 –> “KEYCODE_5”
13 –> “KEYCODE_6”
14 –> “KEYCODE_7”
15 –> “KEYCODE_8”
16 –> “KEYCODE_9”
17 –> “KEYCODE_STAR”
18 –> “KEYCODE_POUND”
19 –> “KEYCODE_DPAD_UP”
20 –> “KEYCODE_DPAD_DOWN”
21 –> “KEYCODE_DPAD_LEFT”
22 –> “KEYCODE_DPAD_RIGHT”
23 –> “KEYCODE_DPAD_CENTER”
24 –> “KEYCODE_VOLUME_UP”
25 –> “KEYCODE_VOLUME_DOWN”
26 –> “KEYCODE_POWER”
27 –> “KEYCODE_CAMERA”
28 –> “KEYCODE_CLEAR”
29 –> “KEYCODE_A”
30 –> “KEYCODE_B”
31 –> “KEYCODE_C”
32 –> “KEYCODE_D”
33 –> “KEYCODE_E”
34 –> “KEYCODE_F”
35 –> “KEYCODE_G”
36 –> “KEYCODE_H”
37 –> “KEYCODE_I”
38 –> “KEYCODE_J”
39 –> “KEYCODE_K”
40 –> “KEYCODE_L”
41 –> “KEYCODE_M”
42 –> “KEYCODE_N”
43 –> “KEYCODE_O”
44 –> “KEYCODE_P”
45 –> “KEYCODE_Q”
46 –> “KEYCODE_R”
47 –> “KEYCODE_S”
48 –> “KEYCODE_T”
49 –> “KEYCODE_U”
50 –> “KEYCODE_V”
51 –> “KEYCODE_W”
52 –> “KEYCODE_X”
53 –> “KEYCODE_Y”
54 –> “KEYCODE_Z”
55 –> “KEYCODE_COMMA”
56 –> “KEYCODE_PERIOD”
57 –> “KEYCODE_ALT_LEFT”
58 –> “KEYCODE_ALT_RIGHT”
59 –> “KEYCODE_SHIFT_LEFT”
60 –> “KEYCODE_SHIFT_RIGHT”
61 –> “KEYCODE_TAB”
62 –> “KEYCODE_SPACE”
63 –> “KEYCODE_SYM”
64 –> “KEYCODE_EXPLORER”
65 –> “KEYCODE_ENVELOPE”
66 –> “KEYCODE_ENTER”
67 –> “KEYCODE_DEL”
68 –> “KEYCODE_GRAVE”
69 –> “KEYCODE_MINUS”
70 –> “KEYCODE_EQUALS”
71 –> “KEYCODE_LEFT_BRACKET”
72 –> “KEYCODE_RIGHT_BRACKET”
73 –> “KEYCODE_BACKSLASH”
74 –> “KEYCODE_SEMICOLON”
75 –> “KEYCODE_APOSTROPHE”
76 –> “KEYCODE_SLASH”
77 –> “KEYCODE_AT”
78 –> “KEYCODE_NUM”
79 –> “KEYCODE_HEADSETHOOK”
80 –> “KEYCODE_FOCUS”
81 –> “KEYCODE_PLUS”
82 –> “KEYCODE_MENU”
83 –> “KEYCODE_NOTIFICATION”
84 –> “KEYCODE_SEARCH”
85 –> “TAG_LAST_KEYCODE”
比如:按Home键:adb shell input keyevent KEYCODE_HOME
###滑动屏幕命令行 - 从(x1, y1)滑动到(x2, y2)
adb shell input touchscreen swipe {x1} {y1} {x2} {y2}
###点击屏幕命令行 - 点击屏幕坐标(x, y)
adb shell input touchscreen tap {x} {y}
###做Android开发的哥门们肯定都遇到过日志死活不打印、日志一闪而过等等问题
-
直接在黑框中看日志:
adb logcat
###adb导出日志 -
习惯性先清除无用的日志(毕竟mmp不是我们想要的
adb locat -c
####先了解下Android日志主要分为kernel、radio、event、main这四种log。 -
Kernel Log
kernel log属于Linux内核的log ,可以通过读取/proc/kmsg或者通过串口来抓取。
adb 抓取kernel log的命令如下(需要有root权限):
adb shell cat /proc/kmsg > /tmp/kernel.log -
Radio Log
-b radio参数可以抓取Android RIL层 log,在调试Android通信方面的代码时,这个Log非常关键。抓取命令如下:
adb logcat -b radio > /tmp/radio.log -
Main Log
main log和我们在eclipse里通过DDMS中看到的log是一致的。抓取命令如下:
adb logcat -b main > /tmp/main.log -
Event Log
event log属于system log,平时可以跟在main log之后。抓取命令如下:
adb logcat -b event -v time > /tmp/event.log
-v time表示在log中加入每条log发生的时间。 -
完整Log
adb logcat -b选项是可以复用的,因此我们抓取所有Log的命令就是复用了-b选项。抓取命令如下:
adb logcat -b main -b system -b radio -b events -v time > /tmp/all.log -
Log过滤
adb logcat | grep TAG > a.log