首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓MonkeyRunner异常

安卓MonkeyRunner异常
EN

Stack Overflow用户
提问于 2012-11-06 20:27:04
回答 1查看 2.1K关注 0票数 1

我正在尝试从MonkeyRunner (4.2)运行Eclipse测试工具。我安装了EclipseJython2.5.1和PyDev插件。我的PyDev解释器设置为Jython2.5。

我用一个简单的Jython文件在Eclipse中创建了一个jython项目:

代码语言:javascript
复制
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

# Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()

现在,当我从Eclipse启动它(项目>以JythonProject身份运行)时,我得到了以下异常:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\svnrepository\trunk\JythonProject\src\main.py", line 10, in <module>
    device = MonkeyRunner.waitForConnection()
    at com.android.monkeyrunner.MonkeyRunner.waitForConnection(MonkeyRunner.java:75)
    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)
 java.lang.NullPointerException: java.lang.NullPointerException

你知道哪里会出问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-07 00:29:02

有一篇关于Diego Torres Milano如何配置PyDev与monkeyrunner一起使用的文章。我遵循了his的步骤,在我的例子中,一切都很好。

简而言之,首先你需要改变你的Android安装。您需要将monkeyrunner工具重命名为monkeyrunner-original。然后,您需要在同一文件夹中编写shell脚本(将其命名为monkeyrunner),该脚本将以特定的方式调用monkeyrunner-original。

Linux脚本:

代码语言:javascript
复制
# /bin/bash
if [ "$1" = '-u' ]
then
 shift
fi

exec /opt/android-sdk-linux_86/tools/monkeyrunner-original "$@" 

用于Windows的脚本:

代码语言:javascript
复制
REM
@echo off if("%1")==("-u") shift "C:\Program Files\Android\android-sdk\tools"/monkeyrunner-original %1 %2 %3 %4 %5 %6 %7 %8

然后,在Eclipse中,您应该定义新的Python解释器(而不是Jython),并将其指向所创建的脚本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13251037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档