1

Eclipse (4.2) から MonkeyRunner Android テスト ツールを実行しようとしています。Eclipse PyDev プラグインと Jython 2.5.1 をインストールしました。私の PyDev インタープリターは Jython / 2.5 に設定されています。

単純な jython ファイルを使用して、Eclipse で Jython プロジェクトを作成しました。

# 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 として実行)、次の例外が発生します。

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

何が間違っている可能性がありますか?

4

1 に答える 1

3

ディエゴ・トーレス・ミラノの投稿があり、モンキーランナーで使用するように PyDev を構成する方法があります。私は彼の手順に従いましたが、私の場合はすべて正常に動作します。

簡単に言えば、最初に Android のインストールを変更する必要があります。monkeyrunner ツールの名前を monkeyrunner-original に変更する必要があります。次に、monkeyrunner-original を特定の方法で呼び出す同じフォルダー シェル スクリプト (monkeyrunner という名前) に書き込む必要があります。

Linux のスクリプト:

# /bin/bash
if [ "$1" = '-u' ]
then
 shift
fi

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

Windows 用のスクリプト:

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 で (Jython ではなく) 新しい Python インタープリターを定義し、作成したスクリプトを指すようにする必要があります。

于 2012-11-06T16:29:01.663 に答える