web-dev-qa-db-ja.com

java.util.Zip.ZipException:packageAllDebugClassesForMultiDex中にエントリが重複しています

このエラーの意味がわかりません。

Execution failed for task ':excelSior:packageAllDebugClassesForMultiDex'.
> Java.util.Zip.ZipException: duplicate entry: Android/support/v4/util/TimeUtils.class

私は現在ライブラリにAndroid-support-v4.jarを使っています

dependencies {
    compile project(':addThisSDK')
    compile project(':centeredContentButton')
    compile project(':googleplayservices_lib')
    compile files('libs/adxtag2.4.6.jar')
    compile files('libs/Android-support-v4.jar')
    compile files('libs/aws-Android-sdk-1.7.1.1-debug.jar')
    compile files('libs/commons-lang-2.6.jar')
    compile files('libs/crittercism_v4_4_0_sdkonly.jar')
    compile files('libs/dd-plist.jar')
    compile files('libs/FiksuAndroidSDK_4.1.1.jar')
    compile files('libs/iqengines-sdk-barcode.jar')
    compile files('libs/irEventTracker-1.2.jar')
    compile files('libs/jolt-core-0.0.7.jar')
    compile files('libs/json-utils-0.0.7.jar')
    compile files('libs/jsoup-1.7.2.jar')
    compile files('libs/kooaba-api-v4-Java.jar')
    compile 'com.Android.support:multidex:1.0.0'
}

グラドル同期中にエラーが表示されません。アプリケーションを実行しようとしたとき

問題は何でしょうか。

114
bman

あなたはv4ライブラリを挿入し、ライブラリをコンパイルしたことを確認する必要がありますか?あなたはあなたのアプリやあなたの依存プログラムでライブラリを繰り返さないでください。

リピートライブラリを削除して、V4が1つだけ残るようにします。

app dir build.gradleファイルに次のコマンドを追加します。

Android{


    configurations {
        all*.exclude group: 'com.Android.support', module: 'support-v4'
        all*.exclude group: 'com.Android.support', module: 'support-annotations'
    }

}

わたしにはできる!あなたはそれを試すことができます!

64
GeekHades

あなたはおそらくこれを今までに修正しました、しかしこれが答えられないままにならないようにちょうどあなたのbuild.gradleにこれを加えてみてください:

configurations {
    all*.exclude group: 'com.Android.support', module: 'support-v4'
}
82
zwebie

古いEclipseプロジェクトを再インポートしたときにも、このような問題に遭遇しました。プロジェクト内のjarファイルとして古い依存関係が発生しました。

削除するだけ

fileTreeをコンパイルします(dir: 'libs'、include: '* .jar')

gradleファイルに

そして、gradleファイルに依存関係を追加します。

わたしにはできる ..

私の場合、build.gradleのsetmultiDexEnable=trueの後に、「重複エントリ」エラーが発生しました。

このエラーを完全に解決するには、まず最初に 64K以上のメソッドを使ったアプリの設定 (特に "Gradleを使ったマルチデックス用のアプリの設定")をご覧ください。

さらに、Android Studioでctrl + nを使用して「重複エントリ」エラーの原因となるクラスの発生を検索します。重複を含むモジュールと依存関係を決定し、それをビルドから除外します。例えば:

compile ('org.roboguice:roboguice:2.0') {
    exclude module: 'support-v4'
}

私はそれがうまくいくまで複数のモジュールラベルを試す必要がありました。 "support-v4"を除外すると、 "Java.util.Zip.ZipException:重複エントリ:Android/support/v4/*"に関連する問題が解決します

13
b00n12

私の理解では、同じAPIへの重複した参照があるということです(おそらく異なるバージョン番号)。コマンドラインからビルドする場合はデバッグがかなり簡単になるはずです。

コマンドラインから./gradlew yourBuildVariantName --debugを試してください。

問題のあるアイテムが最初の失敗になります。例は次のようになります。

14:32:29.171 [INFO] [org.gradle.api.Task] INPUT: /Users/mydir/Documents/androidApp/BaseApp/build/intermediates/exploded-aar/theOffendingAAR/libs/google-play-services.jar

14:32:29.171 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':BaseApp:packageAllyourBuildVariantNameClassesForMultiDex'

14:32:29.172 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :BaseApp:packageAllyourBuildVariantNameClassesForMultiDex FAILED'

上記の場合、私のBaseAppビルドファイルが位置情報サービスを利用している間、私が私のlibsディレクトリ(theOffendingAAR)に含めたaarファイルはGoogle Play Services jar(はい、全部。

compile 'com.google.Android.gms:play-services-location:6.5.87'

問題のあるアイテムをビルドファイルから安全に削除し、クリーンアップして再構築することができます(必要に応じて繰り返します)。

9
user01000101

依存関係のバージョンを確認します。com.googleパッケージに特別な注意を払う互換性のあるバージョンが必要です。同じバージョンが必要です。

compile 'com.google.Android.gms:play-services:8.3.0'
compile 'com.google.Android.gms:play-services-maps:8.3.0'

あなたが別のバージョンのコンパイルがその例外を投げるならば、両方とも8.3.0です。

8
Ninja Coding

Expose.classエラーの場合

Java.util.Zip.ZipException:エントリが重複しています:com/google/gson/annotations/Expose.class

以下のコードを使う

configurations {
    all*.exclude  module: 'gson'
}
5

単純依存関係gradle.projectからあなたのJarファイルをv7として削除し、あなたのプロジェクトを実行します

5

libがサポートv4に依存していることを見つけ、それを除外します。

build.gradleのコードは次のようになります。

androidTestCompile('com.Android.support.test.espresso:espresso-contrib:2.2.1') {
    // http://stackoverflow.com/a/30931887/5210
    exclude group: 'com.Android.support', module: 'appcompat'
    exclude group: 'com.Android.support', module: 'support-v4'
    exclude module: 'recyclerview-v7'
}

私の状況では、ライブラリ 'espresso'にはsupport-v4というjarがあり、私のプロジェクト 'app'には同じsupport-v4があります。インポートespressoの場合はsupport-v4を除外してください。

シモンズ:compile projectexcludeでは動作できないようです

3
Ninja

これは、ライブラリを追加してモジュールへの依存関係を複数回与えたためです。

私の場合は、ライブラリとしてモジュールとして、また依存関係としても追加しました。

ライブラリを追加するための1つのソースを削除する(gradleの依存関係を削除した)ことで、私の問題は解決しました。

1
Rahul Rastogi

私の場合、正確なエラーは以下の通りです

':Android:transformClassesWithJarMergingForDebug'。

com.Android.build.api.transform.TransformException:Java.util.Zip.ZipException:重複したエントリ:com/google/Android/gms/internal/zzqx.class

他のバージョンのGoogle APIを使用していました。つまり、1つのモジュールの許可ファイルで

if (!project.hasProperty('gms_library_version')) {
        ext.gms_library_version = '8.6.0'
   }

しかし他のモジュールバージョン11.6.0では以下のように

   compile "com.google.Android.gms:play-services-ads:11.6.0"
    compile "com.google.Android.gms:play-services-games:11.6.0"
    compile "com.google.Android.gms:play-services-auth:11.6.0"

しかしこれを見つけるために私はアンドロイドスタジオでCtrl + Nをしてクラス名zzqx.classを入力してそれからこのクラスのために引っ張られている2つのjarファイルを表示して私はバージョン8.6.0を使用しています。 8.6.0から11.6.0に変更してプロジェクトを再構築すると、この問題は修正されました。

お役に立てれば 。

これについての詳細はこちら https://www.versionpb.com/tutorials/step-step-tutorials-libgdx-basic-setup-libgdx/implementing-google-play-services-leaderboards-in-libgdx/

0
paarth batra

私は手動でlibsにjarファイルをコピーしただけでなく、gradleファイルの依存関係について言及したので、私はこの問題に直面しています。また、同じjarファイルがlibsなどの他のフォルダーまたはプロジェクトフォルダーにコピーされているかどうか、プロジェクト構造をチェックインします。

0
Ashish Rawat

私の場合、build.gradleでmultiDexEnable = trueを設定した後に、「重複エントリ」エラーが発生しました。

そして私が得ていた正確なエラーは以下の通りでした:

Error:Execution failed for task 
':Android:transformClassesWithJarMergingForDebug'.
> com.Android.build.api.transform.TransformException: 
Java.util.Zip.ZipException: duplicate entry: 
com/google/Android/gms/internal/zzqx.class

だから最初に私はAndroid StudioでCtrl + Nを使用して "重複エントリ"エラーを引き起こすクラスを検索し、com/google/Android/gms/internal/zzqx.classを検索し、それは1つのバージョンでgmsクラスの2エントリを表示バージョン11.6.0の8.4.0および1。

それを修正するために私は両方とも11.6.0を使うようにしましたそしてそれは修正された例です

早く

    compile "com.google.Android.gms:play-services-games:11.6.0"
    compile "com.google.Android.gms:play-services-auth:8.4.0"
    compile "com.google.Android.gms:play-services-ads:11.6.0"

後に

    compile "com.google.Android.gms:play-services-games:11.6.0"
    compile "com.google.Android.gms:play-services-auth:11.6.0"
    compile "com.google.Android.gms:play-services-ads:11.6.0"

再構築を修正しました。

0
paarth batra

android/support/v4/util/TimeUtils.classを消去するだけです。

0
jas-chu

この問題は私に一日かかりました。 firebase-uiライブラリのバージョンを2.0.0から1.2.0にダウングレードし、プロジェクトレベルのbuild.gradleファイル内に次のコードを追加しました。

allprojects {
    repositories {
        jcenter()

        // Add the following code to your project level build.gradle
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
}
0
Darush

私は私が 'com.Android.support:appcompat-v7:24.0.0-alpha1'をコンパイルしたので私も問題を抱えていますが、私はrecyclerviewライブラリコンパイル 'com.Android.support:recyclerview-v7:24.0.2'を追加しました..私は(24.0.0の24.0.2 intead)のようなcompatと同じようにバージョンを変更しました。

私は答えを得ました。それが誰かに役立つかもしれません。

0
S HemaNandhini

エラーの場合:タスク ':app:transformClassesWithJarMergingForDebug'の実行に失敗しました 'com.Android.build.api.transform.TransformException Java.util.Zip.ZipExceptionエントリが重複しています

これが私がしたことです:

1)gson-2.5.jarファイルを削除します。 2)設定{all * .exclude module: 'gson-2.5'}

0
LEMUEL ADANE

Android SDKをアップグレードした後も同じ問題がありました。私はbuildToolsVersion '23.0.1'でアプリケーションを実行することができました、私がbuildToolsVersion '24.0.3'に変更したとき、私は同じエラーを得ました

私は自分のJavaバージョンをcompileSdkVersion 24で1.7から1.8に更新することで問題を解決しました

0
Muhamed Riyas M

私が誤って追加したときにも私には似たようなことが起こりました

apply plugin: 'kotlin-Android'

私のAndroidライブラリモジュールへ。行を削除すると問題が解決します。

0
A. Steenbergen