我想使用MonkeyRunner生成MotionEvent(来自屏幕触摸)。我已经阅读了有关的信息 http://developer.android.com/guide/developing/tools/monkeyrunner_concepts.html
问题在于这个jython程序:
from com.android.monkeyrunner import MonkeyRunner
if __name__ == '__main__':
# Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()
执行时出现以下错误:
Traceback (most recent call last):
File "C:\Documents and Settings\jjungb00\python\workspace\monkey\src\runner.py", line 6, in <module>
from com.android.monkeyrunner import MonkeyRunner
java.lang.NoClassDefFoundError: com/google/common/base/Predicate
at com.android.monkeyrunner.MonkeyRunner.classDictInit(MonkeyRunner.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.python.core.PyJavaType.init(PyJavaType.java:534)
at org.python.core.PyType.createType(PyType.java:1264)
at org.python.core.PyType.addFromClass(PyType.java:1201)
at org.python.core.PyType.fromClass(PyType.java:1291)
... 跳过一些堆栈跟踪 ...
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Predicate
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
...
我已经从android sdk工具/ lib添加了monkeyrunner.jar作为外部库。 我正在使用jython 2.5.2在XP上运行。
知道该怎么办?我想我必须添加另一个库,但我不知道在哪里或哪个。
答案 0 :(得分:8)
您需要添加Google Collections库 - 目前已重命名为Guava。在android SDK目录中查找guavalib.jar。