このエラーの意味がわかりません。
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'
}
グラドル同期中にエラーが表示されません。アプリケーションを実行しようとしたとき
問題は何でしょうか。
あなたは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'
}
}
わたしにはできる!あなたはそれを試すことができます!
あなたはおそらくこれを今までに修正しました、しかしこれが答えられないままにならないようにちょうどあなたのbuild.gradle
にこれを加えてみてください:
configurations {
all*.exclude group: 'com.Android.support', module: 'support-v4'
}
古い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/*"に関連する問題が解決します
私の理解では、同じ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'
問題のあるアイテムをビルドファイルから安全に削除し、クリーンアップして再構築することができます(必要に応じて繰り返します)。
依存関係のバージョンを確認します。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です。
Expose.classエラーの場合
Java.util.Zip.ZipException:エントリが重複しています:com/google/gson/annotations/Expose.class
以下のコードを使う
configurations {
all*.exclude module: 'gson'
}
単純依存関係gradle.projectからあなたのJarファイルをv7として削除し、あなたのプロジェクトを実行します
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 project
はexclude
では動作できないようです
これは、ライブラリを追加してモジュールへの依存関係を複数回与えたためです。
私の場合は、ライブラリとしてモジュールとして、また依存関係としても追加しました。
ライブラリを追加するための1つのソースを削除する(gradleの依存関係を削除した)ことで、私の問題は解決しました。
私の場合、正確なエラーは以下の通りです
':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に変更してプロジェクトを再構築すると、この問題は修正されました。
お役に立てれば 。
私は手動でlibsにjarファイルをコピーしただけでなく、gradleファイルの依存関係について言及したので、私はこの問題に直面しています。また、同じjarファイルがlibsなどの他のフォルダーまたはプロジェクトフォルダーにコピーされているかどうか、プロジェクト構造をチェックインします。
私の場合、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"
再構築を修正しました。
android/support/v4/util/TimeUtils.classを消去するだけです。
この問題は私に一日かかりました。 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'
}
}
}
私は私が '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と同じようにバージョンを変更しました。
私は答えを得ました。それが誰かに役立つかもしれません。
エラーの場合:タスク ':app:transformClassesWithJarMergingForDebug'の実行に失敗しました 'com.Android.build.api.transform.TransformException Java.util.Zip.ZipExceptionエントリが重複しています
これが私がしたことです:
1)gson-2.5.jarファイルを削除します。 2)設定{all * .exclude module: 'gson-2.5'}
Android SDKをアップグレードした後も同じ問題がありました。私はbuildToolsVersion '23.0.1'
でアプリケーションを実行することができました、私がbuildToolsVersion '24.0.3'
に変更したとき、私は同じエラーを得ました
私は自分のJavaバージョンをcompileSdkVersion 24
で1.7から1.8に更新することで問題を解決しました
私が誤って追加したときにも私には似たようなことが起こりました
apply plugin: 'kotlin-Android'
私のAndroidライブラリモジュールへ。行を削除すると問題が解決します。