2017-06-14 16 views
5

Dlaczego otrzymuję ten błąd, nie wystąpi on, gdy zsynchronizuję Gradle, ale kiedy uruchamiam projekt, otrzymuję ten błąd .Java.util.zip.ZipException: duplikat wpisu: com/google/common/base/FinalizableReference.class

Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'. > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/common/base/FinalizableReference.class

Nie wiem, która zależność powoduje ten błąd, Moje zależności są.

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' 
    }) 
    compile 'com.android.support:appcompat-v7:25.3.1' 
    compile 'com.android.support:support-v4:25.3.1' 
    compile 'com.android.support:customtabs:25.3.1' 
    compile 'com.android.support:cardview-v7:25.3.1' 
    compile 'com.android.support:design:25.3.1' 
    compile 'com.android.support:percent:25.3.1' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    compile 'com.facebook.android:facebook-android-sdk:4.19.0' 
    compile 'com.google.android.gms:play-services-auth:11.0.0' 
    compile 'com.google.android.gms:play-services-location:11.0.0' 
    compile 'com.google.android.gms:play-services-maps:11.0.0' 
    compile 'com.google.android.gms:play-services-places:11.0.0' 
    compile 'com.google.maps.android:android-maps-utils:0.3.4' 
    compile 'io.nlopez.smartlocation:library:3.3.1' 
    compile 'com.appeaser.sublimenavigationviewlibrary:sublimenavigationviewlibrary:0.0.1' 
    compile 'de.hdodenhof:circleimageview:2.1.0' 
    compile 'com.android.volley:volley:1.0.0' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.nineoldandroids:library:2.4.0' 
    compile 'com.daimajia.slider:library:[email protected]' 
    compile 'com.afollestad:sectioned-recyclerview:0.4.1' 
    compile 'com.github.medyo:fancybuttons:1.8.3' 
    compile 'com.basgeekball:awesome-validation:2.0' 
    compile 'com.github.michaelye.easydialog:easydialog:1.4' 
    testCompile 'junit:junit:4.12' 
} 
apply plugin: 'com.google.gms.google-services' 

Edit

I zdobione zależności usług zabaw przyczyną tego problemu. kiedy używam 10.2.6 zamiast 11.0.0 aplikacja działa idealnie, po prostu zmienić dependecies do

compile 'com.google.android.gms:play-services-auth:10.2.6' 
compile 'com.google.android.gms:play-services-location:10.2.6' 
compile 'com.google.android.gms:play-services-maps:10.2.6' 
compile 'com.google.android.gms:play-services-places:10.2.6' 

ale chcę używać najnowszej wersji play-usług 11.0.0 ale daje mi powyższy problem. Jak rozwiązać ten problem? Każda pomoc byłaby przydatna dzięki.

+0

użycie 'kompilacji„com.google.maps.android:android-maps- utils: 0.5 + ' –

+0

@IntelliJAmiya wciąż ten sam błąd –

+0

Myślę, że to błąd. Możesz poradzić sobie z tym problemem –

Odpowiedz

7

Wreszcie problem został rozwiązany. Wygląda na to, że jego błąd google rozwiązał ten problem w zaktualizowanej wersji.

Zastosowanie grać Obsługi Wersja 11.0.1 ...

Na poziomie projektu Gradle użytku

classpath 'com.google.gms:google-services:3.1.0'

+0

Mam ten sam problem, ale jeśli usunę linię "zastosuj wtyczkę:" com.google.gms.google-services' ", tak jak zasugerowałeś, kompilacja nie przetwarza już mojego pliku" google-services.json " , więc moje klawisze API dla wiadomości Firebase nie są dodawane do R.ciąg, a kompilacja się nie powiedzie, ponieważ używam ich w kilku miejscach. Jakieś pomysły na to? – Breeno

+1

Nie ma mowy, że twoja aplikacja będzie budować, mam obecnie te same problemy od czasu przejścia na wersję Firebase i grania usług 11.0.0, myślę, że to błąd. – Po10cio

+0

@Breeno Użyj play Wersja serwisu '11.0.1' –

0

Czasami ten problem występuje z powodu włączając inną wersję play-usług (lub innych bibliotek) . Przyjrzeć się zależności między aplikacjami za pomocą poniższego:

Gradle aplikacji: Zależności

lub jeśli używasz Gradle wrapper

./gradlew aplikacji: zależności

nie mogą być pewne inna biblioteka stron trzecich korzystająca ze starszej wersji biblioteki. W takim przypadku należy wykluczyć starszą bibliotekę z biblioteki strony trzeciej i dołączyć najnowszą.

można zrobić coś takiego:

compile ('com.thirdpartylib.android:library-sdk:8.3.0') { 
     exclude group: 'com.android.support', module: 'support-v4' 
     exclude group: 'com.android.support', module: 'support-annotations' 
     exclude group: 'com.google.android.gms', module: 'play-services-gcm' 
     compile 'com.android.support:support-v4:26.0.0' 
     compile 'com.android.support:support-annotations:26.0.0' 
     compile 'com.google.android.gms:play-services-gcm:11.2.0' 
    } 

To powinno rozwiązać wszelkie duplikat wpisu, główną przyczynę problemu

+0

nope bro to problem w '11.0.0', który jest naprawiony w nowszych wersjach –

Powiązane problemy