2015-09-22 6 views
5

私はAAR-ライブラリ(Jaywayでアンドロイド - のmaven-pluginので構築Mavenプロジェクトを、)を使用しようとしていますGradleのプロジェクトではなく、私はgradle assembleDebugを実行したときに、私は次の例外抱えている:のAndroid Gradleの例外: "複数DEXファイルが定義する"、下のクラスを重複して爆発し、AAR

  • :私は私のプロジェクトでそのクラスを検索する場合

    UNEXPECTED TOP-LEVEL EXCEPTION: 
    com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/actions/ItemListIntents; 
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502) 
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 
    at com.android.dx.command.dexer.Main.run(Main.java:277) 
    at com.android.dx.command.dexer.Main.main(Main.java:245) 
    at com.android.dx.command.Main.main(Main.java:106) 
    

    を、Androidのメーカーは、二つの結果を見つけました検査 gradle dependencyInsight --dependency play-services-base --configuration compileを実行している10

  • ListItemIntents (com.google.android.gms.action) aar-library(classes.jar)

私が取得:

com.google.android.gms:play-services-base:7.0.0 
+--- com.google.android.gms:play-services-gcm:7.0.0 
| \--- aar-library:core:1.0.10-SNAPSHOT 
|   \--- compile     
+--- com.google.android.gms:play-services-location:7.0.0 
| \--- com.nexse.mobile.betting.core:core:1.0.10-SNAPSHOT (*) 
\--- com.google.android.gms:play-services-maps:7.0.0 
    \--- com.google.android.gms:play-services-location:7.0.0 (*) 

(*) - dependencies omitted (listed previously) 

問題がAAR-ライブラリclasses.jarである:明らかにListIntentIntents(及び、全体プレイサービス - ベースモジュール)はすでにそこにあります!私は何をすべきcom.google.android.gmsフォルダの下に1、1 aar-libraryの下のフォルダ

:だから

my-gradle-project/app/build/intermediates/exploded-aar/ 

の内側に私はプレイサービスベースモジュールの2つの参照がありますか?あなたは次のようにあなたのGradleファイル内の真の有効multidexを含めてみてください

答えて

1

私は犯人を見つけました!私は古いアンドロイドメイヴンプラグインを使用していましたcom.jayway.maven.plugins.android.generation2

新しいものcom.simpligility.maven.pluginsはこのエラーを修正しました。

とにかく助けてくれてありがとう。

0

は:

android { 
compileSdkVersion 22 
buildToolsVersion "23.0.0" 

    defaultConfig { 
     minSdkVersion 14 //lower than 14 doesn't support multidex 
     targetSdkVersion 22 

     // Enabling multidex support. 
     multiDexEnabled true 
    } 
} 
+2

まずはお返事ありがとうございます。 それは動作していないようです: ':app:packageAllDebugClassesForMultiDex FAILED エラー: 'app:packageAllDebugClassesForMultiDex'タスクの実行に失敗しました。 > java.util.zip.ZipException:重複エントリ:com/google/android/gms/actions/ItemListIntents.class' しかし、私のアプリはminSdkVersionとして8を持っています。 –

0

If the number of method references in your app exceeds the 65K limit, your app may fail to compile. You may be able to mitigate this problem when compiling your app by specifying only the specific Google Play services APIs your app uses, instead of all of them.

上記のステートメントはhttps://developers.google.com/android/guides/setupから取得されます。

最初に:Clean Projectをクリックしてください。Buildメニューバー(Androidスタジオ)の項目です。

第2:個別の依存関係を追加してみてください。例ロケーションサービスのみを使用する場合は、build.gradlecompile 'com.google.android.gms:play-services-location:7.8.0'を追加してください。

関連する問題