2016-11-06 10 views
2

+ Data Bindingで作業しているときに64k methodsの問題を避けるためにproguardを設定しようとしています。Proguard:google.gms - 重複したzipエントリc.class == zzab.class

そして私はProguardに多くの最適化行の後に、この問題を得る:

Copying resources from program jar [\app\build\intermediates\exploded-aar\io.fabric.sdk.android\fabric\1.3.14\jars\classes.jar] (filtered) 
    Copying resources from program jar [.gradle\caches\modules-2\files-2.1\com.parse.bolts\bolts-android\1.4.0\cc174c559b5177982887bf6e1b76003aebad9516\bolts-android-1.4.0.jar] (filtered) 
    Copying resources from program jar [\app\build\intermediates\exploded-aar\com.google.firebase\firebase-common\9.4.0\jars\classes.jar] (filtered) 
    Copying resources from program jar [\app\build\intermediates\exploded-aar\com.android.support\support-media-compat\24.2.1\jars\libs\internal_impl-24.2.1.jar] (filtered) 
    Copying resources from program jar [\app\build\intermediates\exploded-aar\fr.tvbarthel.blurdialogfragment\lib\3.0.2\jars\classes.jar] (filtered) 
    Copying resources from program jar [\app\build\intermediates\exploded-aar\com.crashlytics.sdk.android\beta\1.2.2\jars\classes.jar] (filtered) 
    Copying resources from program jar [\app\build\intermediates\exploded-aar\com.google.android.gms\play-services-basement\9.4.0\jars\classes.jar] (filtered) 
Warning: Exception while processing task java.io.IOException: Can't write [\app\build\intermediates\transforms\proguard\japan\debug\jars\3\1f\main.jar] (Can't read [\app\build\intermediates\exploded-aar\com.google.android.gms\play-services-basement\9.4.0\jars\classes.jar(;;;;;;**.class)] (Duplicate zip entry [com/google/android/gms/common/internal/c.class == classes.jar:com/google/android/gms/common/internal/zzab.class])) 
:app:transformClassesAndResourcesWithProguardForJapanDebug FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':app:transformClassesAndResourcesWithProguardForJapanDebug'. 
> java.io.IOException: Can't write [\app\build\intermediates\transforms\proguard\japan\debug\jars\3\1f\main.jar] (Can't read [\app\build\intermediates\exploded-aar\com.google.android.gms\play-services-basement\9.4.0\jars\classes.jar(;;;;;;**.class)] (Duplicate zip entry [com/google/android/gms/common/internal/c.class == classes.jar:com/google/android/gms/common/internal/zzab.class])) 

私はいくつかの記事を研究し、それがDuplicated jar問題に関連するかもしれないけど、私はどこ正しくexcludeを設定する方法がわかりません。

私が知っている人なら誰でも解決してください。

は、P/S

、ありがとうございました:

これはproguard file次のとおりです。

# Google gms 
#-keep public class com.google.android.gms.* { public *; } 
-dontwarn com.google.android.gms.** 

#rx java 
-dontwarn rx.internal.util.unsafe.** 

#picaso 
-dontwarn jp.wasabeef.picasso.transformations.gpu.** 

#graphview 
-dontwarn com.jjoe64.graphview.helper.** 

# Ignore warnings: We are not using DOM model 
-dontwarn com.fasterxml.jackson.databind.ext.DOMSerializer 

# Keep Jackson stuff 
-keep class org.codehaus.** { *; } 
-keep class com.fasterxml.jackson.annotation.** { *; } 

# Keep Retrofit 
-keep class retrofit.** { *; } 
-keepclasseswithmembers class * { 
    @retrofit.** *; 
} 
-keepclassmembers class * { 
    @retrofit.** *; 
} 

# Keep Picasso 
-keep class com.squareup.picasso.** { *; } 
-keepclasseswithmembers class * { 
    @com.squareup.picasso.** *; 
} 
-keepclassmembers class * { 
    @com.squareup.picasso.** *; 
} 

app.gradle

apply plugin: 'com.android.application' 
apply plugin: 'com.neenbedankt.android-apt' 
apply plugin: 'me.tatarka.retrolambda' 
apply plugin: 'io.fabric' 
apply plugin: 'com.google.gms.google-services' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "25.0.0" 
    defaultConfig { 
     minSdkVersion 21 
     targetSdkVersion 24 
     versionCode 1 
     versionName "2.3.6" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    signingConfigs { 
     debug {} 
     release {} 
    } 
    buildTypes { 
     debug { 
      shrinkResources true 
      minifyEnabled true 
      applicationIdSuffix ".debug" 
      signingConfig signingConfigs.debug 
     } 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      signingConfig signingConfigs.release 
     } 
    } 
    // Product flavors 
    productFlavors { 
     japan { 
      applicationIdSuffix ".japan" 
      proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 
     } 
    } 

    dataBinding { 
     enabled = true 
    } 

    retrolambda { 
     jvmArgs '-noverify' 
    } 

    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_8 
     targetCompatibility JavaVersion.VERSION_1_8 
    } 

    packagingOptions { 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE-FIREBASE.txt' 
     exclude 'META-INF/NOTICE' 
    } 

} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    // Default - Android Component 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:design:24.2.1' 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    // Dagger 2 
    apt 'com.google.dagger:dagger-compiler:2.6.1' 
    provided 'org.glassfish:javax.annotation:10.0-b28' 
    compile 'com.google.dagger:dagger:2.6.1' 
    // Retrofit2 + Gson 
    compile 'com.squareup.retrofit2:retrofit:2.1.0' 
    compile 'com.squareup.retrofit2:converter-gson:2.1.0' 
    compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0' 
    compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' 
    compile 'com.squareup.okhttp3:okhttp:3.4.1' 
    // RxJva 
    compile 'io.reactivex:rxandroid:1.2.0' 
    compile 'io.reactivex:rxjava:1.1.4' 
    // Firebase 
    compile 'com.firebase:firebase-client-android:2.5.2' 
    compile 'com.google.firebase:firebase-messaging:9.4.0' 
    // Butter Knife 
    apt 'com.jakewharton:butterknife-compiler:8.4.0' 
    compile 'com.jakewharton:butterknife:8.4.0' 
    // Timber 
    compile 'com.jakewharton.timber:timber:4.3.0' 
    // Picasso 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'jp.wasabeef:picasso-transformations:1.0.5' 
    // Custom font : using in XML 
    compile 'uk.co.chrisjenx:calligraphy:2.2.0' 
    // Facebook Rebound Animation 
    compile 'com.facebook.rebound:rebound:0.3.7' 
    // Blur dialog 
    compile 'fr.tvbarthel.blurdialogfragment:lib:[email protected]' 
    // Twitter api 
    compile('com.twitter.sdk.android:twitter:[email protected]') { 
     transitive = true; 
    } 
    // Facebook api 
    compile ('com.facebook.android:facebook-android-sdk:4.15.0'){ 
//  exclude module: 'bolts-android' 
     exclude module: 'support-v4' 
    } 

    compile 'net.qiujuer.genius:blur:1.0.0' 

    compile 'fr.avianey.com.viewpagerindicator:library:[email protected]' 

    compile project(':CropImage') 

    //request permission 
    compile 'com.tbruyelle.rxpermissions:rxpermissions:[email protected]' 
    //crash report 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
    compile 'com.github.ksoichiro:android-observablescrollview:1.5.0' 
} 

project app.gradle

app.gradleで
buildscript { 
    repositories { 
     jcenter() 
     mavenCentral() 
     maven { url 'https://maven.fabric.io/public' } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.2' 

     // Dagger 2 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 

     //retrolambda 
     classpath 'me.tatarka:gradle-retrolambda:3.2.4' 

     classpath 'io.fabric.tools:gradle:1.+' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 

     classpath 'com.google.gms:google-services:3.0.0' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
     maven { url "https://dl.bintray.com/l-offshore-team/l-offshore-libs/" } 
     maven { url 'https://maven.fabric.io/public' } 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

答えて

4

あなたは、ファイルの末尾に次のエントリを移動する必要があります。

apply plugin: 'com.google.gms.google-services' 
+0

ありがとうございます。それは働いている。 –

+0

Shaitan!すばらしいです! –

6

私は同じ問題がありました。私にとっては、問題は他のGoogle Playサービスの依存関係もあったが、バージョンが異なることだった。彼らが同じバージョンを持っていることを確認したら、問題は解決されました。

これが誰かを助けることを望みます。

+0

これは私のために働いた私は別のバージョンをインポートする別のライブラリを持っていた彼らはすべて同じバージョンに、厄介なエラーを修正 – Sam

関連する問題