接第一部分:
// CRASH: wfh.LessonTable (pid 1973)
// Short Msg: java.lang.NullPointerException
// Long Msg: java.lang.NullPointerException
// Build Label: android:generic/sdk/generic/:2.1-update1/ECLAIR/35983:eng/test-keys
// Build Changelist: 35983
// Build Time: 1273161972
// ID:
// Tag: AndroidRuntime
// java.lang.NullPointerException:
// at android.widget.TabHost.dispatchKeyEvent(TabHost.java:279)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:748)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:748)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:748)
// at android.widget.TabHost.dispatchKeyEvent(TabHost.java:275)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:748)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:748)
// at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:748)
// at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1655)
// at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1102)
// at android.app.Activity.dispatchKeyEvent(Activity.java:2038)
// at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1631)
// at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2368)
// at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2338)
// at android.view.ViewRoot.handleMessage(ViewRoot.java:1641)
// at android.os.Handler.dispatchMessage(Handler.java:99)
// at android.os.Looper.loop(Looper.java:123)
// at android.app.ActivityThread.main(ActivityThread.java:4363)
// at java.lang.reflect.Method.invokeNative(Method.java:-2)
// at java.lang.reflect.Method.invoke(Method.java:521)
// at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
// at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
// at dalvik.system.NativeStart.main(NativeStart.java:-2)
** Monkey aborted due to error.
Events injected:
190
:Dropped: keys=
0
pointers=
11
trackballs=
0
flips=
0
## Network stats: elapsed time=27954ms (27954ms mobile, 0ms wifi, 0ms not connected)
** System appears to have crashed at event
190
of
200
using seed
0
#
开始monkey测试时android的LogCat输出的信息:
11
-
01
08
:
52
:
53.712
: DEBUG/AndroidRuntime(
2077
): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
11
-
01
08
:
52
:
53.742
: DEBUG/AndroidRuntime(
2077
): CheckJNI is ON
11
-
01
08
:
52
:
54.453
: DEBUG/AndroidRuntime(
2077
): --- registering
native
functions ---
11
-
01
08
:
52
:
55.542
: DEBUG/ddm-heap(
2077
): Got feature list request
11
-
01
08
:
52
:
59.533
: INFO/ActivityManager(
53
): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=
0x10000000
cmp=wfh.LessonTable/.MainTable }
11
-
01
08
:
53
:
00.842
: INFO/ActivityManager(
53
): Displayed activity wfh.LessonTable/.MainTable:
1266
ms (total
1266
ms)
11
-
01
08
:
53
:
03.123
: DEBUG/dalvikvm(
1973
): GC freed
7524
objects /
507616
bytes in 246ms
11
-
01
08
:
53
:
03.173
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.213
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c585c0
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.213
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.213
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.233
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.252
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c57f98
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.252
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.252
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.263
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.293
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c57970
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.293
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.303
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.323
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.323
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c57330
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.333
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.353
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.363
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.403
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c45330
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.403
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.403
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.423
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.433
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c44d08
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.443
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.443
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.453
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.483
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c446c8
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.483
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.503
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.523
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.563
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c26288
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.572
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.572
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.622
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.642
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c25cb0
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.642
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.662
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.662
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.722
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c256d8
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.722
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.722
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.732
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.752
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c250e8
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.752
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.762
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
03.902
: INFO/dalvikvm(
1973
): Uncaught exception thrown by finalizer (will be discarded):
11
-
01
08
:
53
:
03.902
: INFO/dalvikvm(
1973
): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor
@43c1e780
on MO that has not been deactivated or closed
11
-
01
08
:
53
:
03.902
: INFO/dalvikvm(
1973
): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:
596
)
11
-
01
08
:
53
:
03.912
: INFO/dalvikvm(
1973
): at dalvik.system.NativeStart.run(Native Method)
11
-
01
08
:
53
:
04.247
: WARN/KeyCharacterMap(
1973
): No keyboard
for
id
0
11
-
01
08
:
53
:
04.252
: WARN/KeyCharacterMap(
1973
): Using
default
keymap: /system/usr/keychars/qwerty.kcm.bin
11
-
01
08
:
53
:
04.762
: INFO/ActivityManager(
53
): Starting activity: Intent { cmp=wfh.LessonTable/.EditLesson }
11
-
01
08
:
53
:
05.233
: WARN/WindowManager(
53
): No window to dispatch pointer action
0
11
-
01
08
:
53
:
05.533
: WARN/WindowManager(
53
): No window to dispatch pointer action
1
11
-
01
08
:
53
:
06.782
: INFO/ActivityManager(
53
): Displayed activity wfh.LessonTable/.EditLesson:
1637
ms (total
1637
ms)
11
-
01
08
:
53
:
09.623
: WARN/ActivityManager(
53
): Launch timeout has expired, giving up wake lock!
11
-
01
08
:
53
:
09.682
: WARN/ActivityManager(
53
): Activity idle timeout
for
HistoryRecord{43d3ab48 wfh.LessonTable/.MainTable}
11
-
01
08
:
53
:
12.662
: INFO/ActivityManager(
53
): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=
0x10200000
cmp=com.android.launcher/.Launcher }
11
-
01
08
:
53
:
15.433
: INFO/NotificationService(
53
): enqueueToast pkg=wfh.LessonTable callback=android.app.ITransientNotification$Stub$Proxy
@43d5b308
duration=
1
11
-
01
08
:
53
:
15.513
: INFO/System.out(
1973
): UpdateRecord
11
-
01
08
:
53
:
19.353
: INFO/NotificationService(
53
): enqueueToast pkg=android callback=android.widget.Toast$TN
@43ced790
duration=
0
11
-
01
08
:
53
:
19.752
: WARN/InputManagerService(
53
): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy
@43d2bab0
11
-
01
08
:
53
:
20.752
: INFO/ActivityManager(
53
): Starting activity: Intent { cmp=wfh.LessonTable/.AWeekLesson (has extras) }
11
-
01
08
:
53
:
21.852
: INFO/ActivityManager(
53
): Displayed activity wfh.LessonTable/.AWeekLesson:
1028
ms (total
1028
ms)
11
-
01
08
:
53
:
27.093
: DEBUG/AndroidRuntime(
1973
): Shutting down VM
11
-
01
08
:
53
:
27.113
: WARN/dalvikvm(
1973
): threadid=
3
: thread exiting with uncaught exception (group=
0x4001b188
)
以下为LogCat输出的错误信息,在以下的信息中首先从自己的包中找错误,如果没有自己的包的话就再找发生错误的包的第一个发生了异常。由错误提示可以看出很大的可能是因为TabHost引发的异常。经过查看代码发现是由于TabHost的编写不规范,TabHost与其中一个view放在了一起,在monkey测试做滚球上下滚动时当滚到TabHost时就发生了异常了。所以把TabHost与Activity分开写就不会出现些问题了。
11
-
01
08
:
53
:
27.113
: ERROR/AndroidRuntime(
1973
): Uncaught handler: thread main exiting due to uncaught exception
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): java.lang.NullPointerException
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.widget.TabHost.dispatchKeyEvent(TabHost.java:
279
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:
748
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:
748
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:
748
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.widget.TabHost.dispatchKeyEvent(TabHost.java:
275
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:
748
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:
748
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:
748
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:
1655
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:
1102
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.app.Activity.dispatchKeyEvent(Activity.java:
2038
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:
1631
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:
2368
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:
2338
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.view.ViewRoot.handleMessage(ViewRoot.java:
1641
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.os.Handler.dispatchMessage(Handler.java:
99
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.os.Looper.loop(Looper.java:
123
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at android.app.ActivityThread.main(ActivityThread.java:
4363
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at java.lang.reflect.Method.invokeNative(Native Method)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at java.lang.reflect.Method.invoke(Method.java:
521
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:
860
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:
618
)
11
-
01
08
:
53
:
27.133
: ERROR/AndroidRuntime(
1973
): at dalvik.system.NativeStart.main(Native Method)
11
-
01
08
:
53
:
27.163
: INFO/Process(
53
): Sending signal. PID:
1973
SIG:
3
11
-
01
08
:
53
:
27.173
: INFO/dalvikvm(
1973
): threadid=
7
: reacting to signal
3
11
-
01
08
:
53
:
27.173
: ERROR/dalvikvm(
1973
): Unable to open stack trace file
'/data/anr/traces.txt'
: Permission denied
11
-
01
08
:
53
:
27.622
: INFO/AndroidRuntime(
2077
): AndroidRuntime onExit calling exit(
190
)
11
-
01
08
:
53
:
33.702
: WARN/ActivityManager(
53
): Launch timeout has expired, giving up wake lock!
11
-
01
08
:
53
:
33.733
: WARN/ActivityManager(
53
): Activity idle timeout
for
HistoryRecord{43d3ab48 wfh.LessonTable/.MainTable}
11
-
01
08
:
53
:
41.173
: DEBUG/dalvikvm(
1334
): GC freed
62
objects /
3120
bytes in 2419ms
11
-
01
08
:
53
:
43.742
: WARN/ActivityManager(
53
): Activity destroy timeout
for
HistoryRecord{43dc5028 wfh.LessonTable/.AWeekLesson}
四、总结:
在monkey测试中常用的命令组合有:
1
、monkey -p com.yourpackage -v
500
//简单的输出测试的信息。
2
、monkey -p com.yourpackage -v -v -v
500
//以深度为三级输出测试信息。
3
、monkey -p com.yourpackage --port 端口号 -v//为测试分配一个专用的端口号,不过这个命令只能输出跳转的信息及有错误时输出信息。
4
、monkey -p com.yourpackage -s 数字 -v
500
//为随机数的事件序列定一个值,若出现问题下次可以重复同样的系列进行排错。
5
、monkey -p com.yourpackage -v --throttle
3000
500
//为每一次执行一次有效的事件后休眠3000毫秒。
五、附录:
以下内容为android系统中的keycode值,在以后的调试中会经常需要查询:
KEYCODE_UNKNOWN=
0
;
KEYCODE_SOFT_LEFT=
1
;
KEYCODE_SOFT_RIGHT=
2
;
KEYCODE_HOME=
3
;
KEYCODE_BACK=
4
;
KEYCODE_CALL=
5
;
KEYCODE_ENDCALL=
6
;
KEYCODE_0=
7
;
KEYCODE_1=
8
;
KEYCODE_2=
9
;
KEYCODE_3=
10
;
KEYCODE_4=
11
;
KEYCODE_5=
12
;
KEYCODE_6=
13
;
KEYCODE_7=
14
;
KEYCODE_8=
15
;
KEYCODE_9=
16
;
KEYCODE_STAR=
17
;
//-----------------------------------
KEYCODE_POUND=
18
;
KEYCODE_DPAD_UP=
19
;
KEYCODE_DPAD_DOWN=
20
;
KEYCODE_DPAD_LEFT=
21
;
KEYCODE_DPAD_RIGHT=
22
;
KEYCODE_DPAD_CENTER=
23
;
KEYCODE_VOLUME_UP=
24
;
KEYCODE_VOLUME_DOWN=
25
;
KEYCODE_POWER=
26
;
KEYCODE_CAMERA=
27
;
KEYCODE_CLEAR=
28
;
//-----------------------------------
KEYCODE_A=
29
;
KEYCODE_B=
30
;
KEYCODE_C=
31
;
KEYCODE_D=
32
;
KEYCODE_E=
33
;
KEYCODE_F=
34
;
KEYCODE_G=
35
;
KEYCODE_H=
36
;
KEYCODE_I=
37
;
KEYCODE_J=
38
;
KEYCODE_K=
39
;
KEYCODE_L=
40
;
KEYCODE_M=
41
;
KEYCODE_N=
42
;
KEYCODE_O=
43
;
KEYCODE_P=
44
;
KEYCODE_Q=
45
;
KEYCODE_R=
46
;
KEYCODE_S=
47
;
KEYCODE_T=
48
;
KEYCODE_U=
49
;
KEYCODE_V=
50
;
KEYCODE_W=
51
;
KEYCODE_X=
52
;
KEYCODE_Y=
53
;
KEYCODE_Z=
54
;
KEYCODE_COMMA=
55
;
//-----------------,------------------
KEYCODE_PERIOD=
56
;
//-----------------.------------------
KEYCODE_ALT_LEFT=
57
;
KEYCODE_ALT_RIGHT=
58
;
KEYCODE_SHIFT_LEFT=
59
;
KEYCODE_SHIFT_RIGHT=
60
;
KEYCODE_TAB=
61
;
KEYCODE_SPACE=
62
;
KEYCODE_SYM=
63
;
KEYCODE_EXPLORER=
64
;
//-----------------------------------
KEYCODE_ENVELOPE=
65
;
//---------------信封--------------------
KEYCODE_ENTER=
66
;
KEYCODE_DEL=
67
;
KEYCODE_GRAVE=
68
;
//---------------坟墓--------------------
KEYCODE_MINUS=
69
;
//---------------负--------------------
KEYCODE_EQUALS=
70
;
//--------------等于(=)---------------------
KEYCODE_LEFT_BRACKET=
71
;
//----------------------------
KEYCODE_RIGHT_BRACKET=
72
;
//----------------------------
KEYCODE_BACKSLASH=
73
;
//-------------反斜线\---------------
KEYCODE_SEMICOLON=
74
;
//--------------;--------------
KEYCODE_APOSTROPHE=
75
;
//---------------’-------------
KEYCODE_SLASH=
76
;
//--------------/?--------------
KEYCODE_AT=
77
;
//------------------@---------------
KEYCODE_NUM=
78
;
KEYCODE_HEADSETHOOK=
79
;
//----------------------------
KEYCODE_FOCUS=
80
;
//*Camera*focus
KEYCODE_PLUS=
81
;
//------------+----------------
KEYCODE_MENU=
82
;
KEYCODE_NOTIFICATION=
83
;
//----------------------------
KEYCODE_SEARCH=
84
;
KEYCODE_MEDIA_PLAY_PAUSE=
85
;
KEYCODE_MEDIA_STOP=
86
;
KEYCODE_MEDIA_NEXT=
87
;
KEYCODE_MEDIA_PREVIOUS=
88
;
KEYCODE_MEDIA_REWIND=
89
;
//------------倒带----------------
KEYCODE_MEDIA_FAST_FORWARD=
90
;
KEYCODE_MUTE=
91
;
//-----------静音-----------------