31

実装プロジェクトが正常に機能した後、サードパーティのライブラリ (zxing) を使用してプロジェクトを実装しました。次に、プロジェクトを単体テストするためのテスト プロジェクトを 1 つ作成した後です。エラーが発生しますが、メイン プロジェクトのそのメソッド内で zxing フレームワーク クラスが使用されている場合、実行時にまだコンパイル時に上記のエラーが発生します。この問題を解決する方法を教えてください。

4

9 に答える 9

33

サードパーティのライブラリ参照が 2 回追加されたため、このエラーが発生しています。テスト プロジェクトのビルド パスにアプリケーション パスを追加しました。そのため、ライブラリ参照が自動的にテスト プロジェクトに追加されます」。プロパティ - > Android の下のテスト プロジェクトのライブラリ参照を削除します。

参考までに、詳細な説明については、 ここをクリックしてください

于 2012-11-26T10:45:41.013 に答える
11

これは、zxing jar ファイルが 2 回読み込まれているためです。コンパイル時に zxing ライブラリを「提供済み」として設定する必要があるため (Maven を使用してコードをコンパイルしている場合)、ライブラリがバイトコードに追加されません。そうすれば、エラーは発生しません

于 2013-05-15T15:07:20.397 に答える
9

残念ながら、私が見た最善の解決策は、これらのコード行でスクリプトを使用し、Espresso v2.0 を使用することです。

adb shell setprop dalvik.vm.dexopt-flags v=n,o=v
adb shell stop installd
adb shell start installd

テストを開始する前に実行してください。一度だけ行う必要があります。

于 2015-03-04T19:14:43.143 に答える
6

Intelij Idea でテストプロジェクトの設定を変更しました。Modules -> Dependencies に移動し、テスト済みプロジェクトのスコープを 'Provided' に設定します。

于 2013-12-05T14:54:58.423 に答える
4

Guava を使用していて、Espresso にも Guava が含まれているため、このエラーが発生しました。

Gradle と Android Studio を使用している場合、次のようにパッケージを依存関係から除外できます。

androidTestCompile('com.jakewharton.espresso:espresso:1.1-r3') {
   exclude group: 'com.google.guava'
}
于 2014-09-16T13:09:17.383 に答える
3

Eclipse のプロジェクトの Java ビルド パスの下にある [注文とエクスポート] タブから jar (私の場合はマップと Google Play サービス jar) のチェックを外します。ただし、[ライブラリ] タブに追加します。OK、Clean projects and build now をクリックします。できます。

于 2014-02-21T14:44:58.420 に答える