9

Sto avendo questo errore quando si tenta di eseguire il mio progetto:Error voce duplicata: com/Google/Android/gms/posizione/luoghi/zzj.class

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/location/places/zzj.class

Questo è il file build.gradle I sto usando:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.1.2' 
     classpath 'io.realm:realm-gradle-plugin:0.89.1' 
    } 
} 
apply plugin: "com.android.library" 
apply plugin: "realm-android" 

repositories { 
    jcenter() 
} 

android { 
    compileSdkVersion 23 
    buildToolsVersion '23.0.3' 

    defaultConfig { 
     minSdkVersion 15 
     targetSdkVersion 22 
    } 

    buildTypes { 
     debug { 
      minifyEnabled false 
     } 
     release { 
      minifyEnabled false 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile "com.android.support:appcompat-v7:23.1.1" 
    compile "com.android.support:cardview-v7:23.1.1" 
    compile "com.android.support:recyclerview-v7:23.1.1" 
    compile "com.android.support:design:23.1.1" 
    compile "com.squareup.okhttp3:okhttp:3.1.2" 
    compile ('com.facebook.android:facebook-android-sdk:4.9.0') 
     { exclude group: 'com.android.support' } 
    compile ('com.googlecode.libphonenumber:libphonenumber:7.2.2') 
     { exclude group: 'com.android.support' } 
    compile "com.pubnub:pubnub-android:3.7.6" 
    compile "com.google.android.gms:play-services-maps:9.0.0" 
    compile "com.google.android.gms:play-services-gcm:9.0.0" 
    compile "com.google.android.gms:play-services-location:9.0.0" 
    compile ('com.appyvet:materialrangebar:1.3') 
     { exclude group: 'com.android.support' } 
    compile 'com.google.code.gson:gson:2.5' 
    compile "com.amazonaws:aws-android-sdk-s3:2.2.10" 
    compile "com.amazonaws:aws-android-sdk-core:2.2.10" 
    compile ('com.instabug.library:instabug:2.1') 
     { exclude group: 'com.android.support' } 
    compile 'com.github.tony19:logback-android-core:1.1.1-4' 
    compile 'com.github.tony19:logback-android-classic:1.1.1-4' 
    compile 'org.slf4j:slf4j-api:1.7.6' 
    compile 'ch.acra:acra:4.8.2' 
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.15' 
    compile 'org.greenrobot:eventbus:3.0.0' 
    compile 'com.android.support:multidex:1.0.0' 
} 
+0

Si ha una dipendenza duplicata. Sembra che tu abbia due versioni di Google Places API. – Emmanuel

+0

@Emmanuel Questo è quello che ho pensato anche io. Ma sto solo usando una dipendenza dell'API di Google Places. Non riesco a vedere dove può essere duplicato !! – HiddenDroid

+1

eseguire './gradlew: android: dipendencies' sul terminale. Una delle altre librerie che stai utilizzando dipende probabilmente da una versione precedente della libreria dei luoghi di google. Devi trovare la libreria che porta la dipendenza ed escludere da essa google places. – Emmanuel

risposta

19

ho aggiornato Google Play Services (mappe, ubicazione e GCM) da 9.0.0 a 9.2.0

compile 'com.google.android.gms:play-services-location:9.2.0' 
compile 'com.google.android.gms:play-services-maps:9.2.0' 
compile 'com.google.android.gms:play-services-gcm:9.2.0' 

Poi ho aggiunto questo DEPE ndency:

compile 'com.google.android.gms:play-services-places:9.2.0' 

E funziona come un fascino :)

+0

Grazie mille amico! Mi hai salvato il tempo :) – Ghorbanzadeh

0

ho aggiunto l'ultima versione di com.google.android.gms da: https://developers.google.com/android/guides/releases e ha aggiunto force = true per i moduli GMS che uso:

compile('com.google.android.gms:play-services-analytics:11.0.2') { 
     force = true; 
    } 
    compile('com.google.android.gms:play-services-ads:11.0.2') { 
     force = true; 
    } 
    compile('com.google.android.gms:play-services-gcm:11.0.2') { 
     force = true; 
    }