在磁盤發生故障後重新安裝Android Studio之後,我更新了項目的依賴關係以反映API 21.這引入了multiDex的使用,因此我的build.gradle現在包含:TransformException GoogleCloudMessaging的重複條目
compileSdkVersion 21
buildToolsVersion '21.1.2'
defaultConfig {
minSdkVersion 17
targetSdkVersion 21
multiDexEnabled true
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile ('com.android.support:support-v4:21.0.3') {
exclude group: 'com.google.android.gms'
}
compile ('com.android.support:appcompat-v7:21.0.3') {
exclude group: 'com.google.android.gms'
}
compile ('com.android.support:multidex:1.0.0') {
exclude group: 'com.google.android.gms'
}
compile 'com.google.android.gms:play-services-gcm:7.+'
compile files('libs/android-async-http-1.4.4.jar')
}
請注意我不想在此階段更新到API 23,以便與姐妹應用程序保持一致。
我不斷收到以下錯誤,當我嘗試建立:
執行失敗的任務「:應用程序:transformClassesWithJarMergingForDebug」。 com.android.build.api.transform.TransformException:java.util.zip.ZipException:重複的條目:COM /谷歌/安卓/ GMS/GCM/Google雲端通訊$ 1.class
我加入了「排除組'只有在嘗試解決重複時才依賴於依賴關係。
清理項目沒有什麼區別(我試過了終端和Studio菜單)。
從./gradlew app:dependencies
的輸出如下:
+--- com.android.support:multidex:1.0.1
+--- com.android.support:support-v4:21.0.3 -> 22.2.0
| \--- com.android.support:support-annotations:22.2.0
+--- com.android.support:appcompat-v7:21.0.3
| \--- com.android.support:support-v4:21.0.3 -> 22.2.0 (*)
+--- com.android.support:multidex:1.0.0 -> 1.0.1
\--- com.google.android.gms:play-services-gcm:7.+ -> 7.8.0
\--- com.google.android.gms:play-services-base:7.8.0
\--- com.android.support:support-v4:22.2.0 (*)
道歉,如果這是另一個問題SO重複,但我看其他問題,他們並沒有幫助,因爲我不能請參閱重複引入的位置。任何人都可以告訴我重複的來源嗎?
我也面臨同樣的問題,請檢查鏈接http://stackoverflow.com/questions/37874487/java-util-zip-zipexception-duplicate-entrycom-google-android-gms-auth-userreco – kavie