2

Androidを使用してプロジェクトの UI テストを実行しようとしてRobotiumいますが、コマンド ラインまたは Eclipse から実行しようとすると、次のエラーが表示されます。

INSTRUMENTATION_RESULT: longMsg=java.lang.IllegalAccessError: 
    Class ref in pre-verified class resolved to unexpected implementation

logcat では、次のようなエラーも表示されます。

java.lang.NoClassDefFoundError: com.bridgepointeducation.talon.TalonModule

持っていなくてもcom.bridgepointeducation.talon.TalonModule

この問題を解決する方法を知っている人はいますか?ありがとう!

4

3 に答える 3

7

同じクラス/jar の 2 つのコピーが提供されている場合に、この問題が発生しました。たとえば、Android プロジェクトとテスト プロジェクトの両方でサード パーティのライブラリに依存している場合、何らかの理由で 2 回含まれます。

これを修正する方法を決定するために、テストをどのようにビルド/実行するかによって異なります。Eclipse から問題のあるライブラリを Android プロジェクトにエクスポートすると、テスト プロジェクトのクラスパスに配置されます。Mavenでは、提供されたスコープとしてマークできます。Ant では、テスト プロジェクト (ライブラリなど) にローカルに含めず、Android プロジェクトのクラスパスからプルされると思います。

于 2011-08-09T21:05:59.313 に答える
0

テストを実行しようとしている実装クラスが、期待しているものではないようです。テストを実行するときは、テスト パッケージとテストを実行するパッケージを指定する必要があります。

テストを実行しているパッケージが、クラスパスに含まれているパッケージと同じであると確信していますか? 古いバージョンに対してテストが実行されている可能性がありますか?

また、プロジェクトに他のライブラリ (.jars) が含まれている場合は、それらもテストのクラスパスに含まれていることを確認する必要があります。

編集: 周りを見回すと、ここで同様の問題と解決策が見つかりました: Can't build and run an android test project created using "ant create test-project" when testing project has jars in libs directory

サードパーティ ライブラリ (.jars) を含めるには、build.xml ファイルを変更して、一部のデフォルトの Android ターゲットをオーバーライドする必要があります。

于 2011-08-09T14:45:02.930 に答える