0

无论我做什么,我似乎都无法让 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 本身有问题。

4

1 回答 1

0

我更新了最新版本的 Java 运行时环境 (JRE),安装了最新版本的 Java 开发工具包 (JDK),重新启动了我的计算机,现在它似乎可以工作了。

我不确定是 JRE 还是 JDK 最终修复了它,但它一定是在某处丢失了一些 Java 组件。

于 2013-06-11T21:00:25.580 回答