无论我做什么,我似乎都无法让 MonkeyRunner 连接到模拟器,即使它正在运行并且 adb 显示它可用:
C:\Users\ADMIN\Documents\android\sdk\platform-tools>adb devices
List of devices attached
emulator-5554 device
我只是尝试通过命令行界面使用 MonkeyRunner 连接到模拟器(这似乎是它可以做的最基本的事情),但是一旦我尝试连接它就会给我一个 NullPointerException:
C:\Users\ADMIN\Documents\android\sdk\tools>monkeyrunner
Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:54:35)
[IBM J9 VM (IBM Corporation)] on java1.6.0
>>> from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
>>> device = MonkeyRunner.waitForConnection()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
at com.android.monkeyrunner.JythonUtils.createArgParser(JythonUtils.java:121)
at com.android.monkeyrunner.MonkeyRunner.waitForConnection(MonkeyRunner.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
java.lang.NullPointerException: java.lang.NullPointerException
>>>
我所能找到的关于这个 NullPointerException 的一切都是它发生在试图从 Eclipse 中运行代码时,这不是我想要做的。我已经尝试重新启动我的机器,甚至完全删除 SDK 并重新开始,但它仍然无法正常工作。
关于为什么它没有连接并给我一个错误的任何想法?
编辑:看起来对 MonkeyRunner 的所有函数调用都会产生相同的 NullPointerException,即使只是尝试执行“MonkeyRunner.sleep(5)”,所以我认为 MonkeyRunner 本身有问题。