Android MonkeyDevice getViewIdList()引发NullPointerException

Android MonkeyDevice getViewIdList()引发NullPointerException,android,monkeyrunner,Android,Monkeyrunner,问题:MonkeyDevice getViewIdList()引发NullPointerException 我是如何得到错误的: # Retyped, not copied, excuse typos. $ monkeyrunner >>> from com.android.monkeyrunner import MonkeyDevice, MonkeyRunner >>> device = MonkeyRunner.waitForConnection() &

问题:MonkeyDevice getViewIdList()引发NullPointerException

我是如何得到错误的:

# Retyped, not copied, excuse typos.
$ monkeyrunner
>>> from com.android.monkeyrunner import MonkeyDevice, MonkeyRunner
>>> device = MonkeyRunner.waitForConnection()
>>> device.getViewIdList()
抛出带有以下回溯的
java.lang.NullPointerException

at com.android.chimpchat.ChimpManager.parseResponseforExtra(ChimpManager.java:216)
at com.android.chimpchat.ChimpManager.listViewIds(ChimpManager.java:392)
at com.android.chimpchat.adb.AdbChimpDevice.getViewIdList(AdbChimpDevice.java:604)
at com.android.monkeyrunner.MonkeyDevice.getViewIdList(MonkeyDevice.java:383)
... # Reflection stuff ...
我为解决问题所做的事情:

  • 更新SDK至最新版本(SDK工具22.0.5,SDK平台工具18.0.1)
  • 4.2.2和4.3模拟器上的相同异常

我已经没有办法去测试了,做一些谷歌搜索什么也没找到。有什么想法吗?

这实际上是因为

device = MonkeyRunner.waitForConnection()
即使连接未成功,也返回无错误或异常

您可以使用与检测连接是否在
waitForConnection()之后完成时使用的相同技术:

 try:
     device.wake()
 except java.lang.NullPointerException, e:
     print >> sys.stderr, "%s: ERROR: Couldn't connect to %s: %s" % (progname, serialno, e)
     sys.exit(3)