良い一日。 AndroidStudioでGoogleリポジトリを更新した後、問題が発生します
> Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.Android.build.transform.api.TransformException: Java.util.Zip.ZipException: duplicate entry:
> Android/support/v7/cardview/BuildConfig.class
グループAndroid.supportをplay-servicesから除外しようとしていますが、役に立ちませんでした。別のPCでプロジェクトを開始したとき、次のことができました。
> Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.Android.build.transform.api.TransformException: Java.util.Zip.ZipException: duplicate entry:
> Android/support/annotation/AnimRes.class
私のbuild.gradle:
apply plugin: 'com.Android.application'
apply plugin: 'com.Android.databinding'
Android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "ru.alexeyk.myevents"
minSdkVersion 14
targetSdkVersion 23
versionCode 16
versionName "1.121"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile('com.github.nkzawa:socket.io-client:0.4.2') {
exclude group: 'org.json', module: 'json'
}
compile files('libs/sentry-1.1.4.jar')
compile 'com.Android.support:appcompat-v7:23.1.0'
compile 'com.Android.support:support-annotations:23.1.0'
compile 'com.Android.support:design:23.1.0'
compile 'com.Android.support:support-v4:23.1.0'
compile 'com.Android.support:cardview-v7:23.1.0'
compile 'com.Android.support:recyclerview-v7:23.1.0'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
compile 'com.github.machinarius:preferencefragment:0.1.2'
compile 'com.edmodo:cropper:1.0.1'
compile 'com.makeramen:roundedimageview:2.1.1'
compile 'org.ocpsoft.prettytime:prettytime:4.0.0.Final'
compile 'com.yandex.Android:mobmetricalib:2.00@aar'
compile 'com.google.Android.gms:play-services:8.1.0'
compile 'com.google.Android.gms:play-services-ads:8.1.0'
compile 'com.google.Android.gms:play-services-analytics:8.1.0'
compile 'com.google.Android.gms:play-services-identity:8.1.0'
compile 'com.google.Android.gms:play-services-gcm:8.1.0'
}
ターミナルでルートプロジェクトフォルダーで実行します。
./gradlew clean
助けてくれました。
AndroidStudio メニュー:
ビルド/クリーンプロジェクト
古い依存関係を更新する
上記のすべてが機能しない。Facebook Ad依存関係を使用しているため。
この依存関係を使用している場合compile 'com.facebook.Android:audience-network-sdk:4.16.0'
上記の代わりにこのコードを試してください
compile ('com.facebook.Android:audience-network-sdk:4.16.0'){
exclude group: 'com.google.Android.gms'
}
システムコマンドプロンプト/ターミナルを開きます->プロジェクトフォルダーパス(ルートプロジェクトフォルダー)に移動します->次のコマンドを実行します:command:-gradlew clean
または./gradlew clean
すべてのgradle依存関係が同じバージョンであることを確認してください。 ->例:-appcompatとrecyclerviewの依存関係は同じバージョンでなければなりません。
-> gradleの依存関係を同じバージョンに変更します:-
compile 'com.Android.support:appcompat-v7:23.4.0'
compile 'com.Android.support:design:23.4.0'
compile 'com.Android.support:recyclerview-v7:23.4.0'
compile 'com.Android.support:cardview-v7:23.4.0'
->プロジェクトを再構築すると、問題なく動作します。
ターミナルでプロジェクトルートを使用このように:-/ Users/rajnish/Desktop/RankProjects/ProjectCloud
その後、これを入力しますcommand ./gradlew clean
それが動作します。
報告された問題には別の理由がある可能性があります。スタジオをアップグレードした後、数日前にもこの問題「重複したjar」に直面しています。すべてのstackoverflowから、私はすべての提案を試みましたが、何もうまくいきませんでした。
しかし、これは確かにいくつかの重複したjarが存在することです。私にとっては、1つのライブラリlibsフォルダーとプロジェクトlibsフォルダーに存在していました。そこで、ここでは必要ではなかったため、プロジェクトのlibsフォルダーから削除しました。したがって、スタジオの更新中は注意して、すべてのgradleエラーを理解するようにしてください。
重複するjarまたは依存関係を追加して削除するとエラーがなくなるかどうかを確認してください。
Build.gradleに正しい行がなかったため、このエラーが発生しました。私はこれを必要とするorg.Apache.http.legacy.jar
ライブラリを使用しています。
Android{
useLibrary 'org.Apache.http.legacy'
...
}
だから、必要なすべてのgradleファイルがあることを確認してください。
これらのjarが依存関係に手動で追加されていない場合でも、「libs」ディレクトリを再確認し、冗長なjarを削除することで、問題を解決しました。
これを解決するには、recyleviewのバージョンnoをrecyclerview-v7:24.2.1に変更します。依存関係を確認し、適切なバージョン番号を使用してください。
私にとって、問題はcom.google.Android.exoplayer
がcom.facebook.Android:audience-network-sdk
と競合することが原因でした。
exoplayer
ライブラリーをaudience-network-sdk
から除外することで問題を修正しました。
compile ('com.facebook.Android:audience-network-sdk:4.24.0') {
exclude group: 'com.google.Android.exoplayer'
}