2017-07-15 6 views
0

私のプロジェクトには依存関係giphy4jを追加しようとしていますが、この依存関係はjunit 4.8.1ですが、私のプロジェクトでは最新のjunit 4.12が使用されています。矛盾する依存関係 - アンドロイドスタジオ

build.gradle(モジュール:アプリ):

androidTestCompile 'junit:junit:4.12' 
compile 'at.mukprojects:giphy4j:1.0.1' 

この構成では、私にGradleの同期にエラーを与えています。
androidTestCompilecompileに変更すると、その逆の場合も同じです。私はこの点を得ていない。私は依存関係のものを掘り下げます。compileapkTestCompileなどですが、適切なアイデアを得ることができませんでした(私は新入生です)。そして、この相反するエラーもまた分かりません。

ポイント1:junit(apkと一緒にリリースする)をコンパイルするのは間違っていますか?新しいプロジェクトを作成すると、デフォルトでjunit 4.12が設定されます。

ポイント2:私は./gradlew app:androiddependenciesを実行したときにそれはrelease configurationに表示されないbecuase androidTestCompileと私のサードパーティ製の依存性を設定する必要はありません。

./gradlew app:androiddependencies output

エラー:エラー:依存性の競合 'のJUnit:JUnitの' プロジェクト内の ':アプリ'。 app(4.8.1)とテストアプリ(4.12)の解決されたバージョンが異なります。詳細については、http://g.co/androidstudio/app-test-app-conflictを参照してください。

+0

なぜ、他の依存関係からjunitを除外しないのですか? –

+0

それで、グラデルはジュニットを2回含んでいますか? ライブラリが 'junit 4.8.1'に依存していると仮定しました。しかし、私のプロジェクトは '4.12'バージョンを使用しているため、矛盾しています。 –

+0

それは誤りが言うことです、はい。しかし、テストの依存関係を実際にコンパイルしない限り、なぜエラーが出るのかは明らかではありません。 –

答えて

0

ライブラリからjunitを除外します。

compile ("at.mukprojects:giphy4j:1.0.1") { 
    exclude group: 'junit', module: 'junit' 
} 
+0

'giphy4j'は' junit 4.12'を使用しますか? –

+0

試しましたか? giphy4jに 'junit 4.12'を使用させることはありません。それはあなたのアプリケーションモジュールgradleに追加されるライブラリを除外するだけです。 – Rahul

+0

これを行うとエラーが発生します。 'エラー:(3、17)エラー:パッケージorg.junitは存在しません' 'ExampleUnitTest.java' –

関連する問題