0

Die App wird in einem Gerät mit Android 6.0 korrekt kompiliert, aber nicht in einem Telefon mit Android 4.4.2. Wenn ich versuche, das Projekt von Android Studio 2.2.3 zu kompilieren, das Gerät mit Android 4.4.2 verwenden, erhalte ich diesen Fehler:Fehler: Ausführung fehlgeschlagen für Task ': app: transformClassesWithJarMergingForDebug'. > Eintrag duplizieren: com/google/android/gms/gcm/PendingCallback.class

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

In meiner build.gradle Datei, ich dies mit:

dependencies { 
    ...... 
    compile 'com.google.android.gms:play-services:9.8.0' 
    compile 'com.google.firebase:firebase-messaging:9.0.0' 
    ...... 
} 

Ich habe bereits versucht Build/Clean Project wie von SergioLucas bei Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug' vorgeschlagen, und ich habe auch versucht, die gleiche Version in allen Google Play Services-Bibliotheken, wie von Benjamin unter Android studio APK buil error transformClassesWithJarMergingForDebug vorgeschlagen. In meinem Fall hat die Verwendung von 9.8.0 sowohl für com.google.android.gms:play-services als auch für com.google.firebase:firebase-messaging den Fehler nicht behoben. Irgendwelche Ideen? Vielen Dank.

EDIT:

Die App stellt richtig und null Probleme auf Geräten mit Android 5.1.1, 5.0.1 und 6.0. Ich habe diesen Fehler nur auf meinem Testgerät mit Android 4.4.2. Siehe Bildfehler:

enter image description here

Es fasziniert mich die Tatsache, dass der Fehler nur in Android 4.x geschieht, und alles kompiliert und funktioniert auf Geräten mit Android 5.x und 6.x. Vielleicht benötige ich eine bestimmte Bibliothek, um die Kompatibilität mit älteren Versionen von Android herzustellen, in diesem Fall Android 4.x? Ich werde es zu schätzen wissen, wenn Sie Hinweise zur Behebung dieses Fehlers geben könnten. Vielen Dank.

Antwort

0

Die Lösung war der Code, den Sampyng bei https://github.com/firebase/firebase-jobdispatcher-android/issues/3 geteilt hat. Dies ist, was ich in meiner app/build.gradle-Datei (Version, die den Fehler wurde erzeugt) hatte:

dependencies { 
    ......... 
    compile 'com.google.android.gms:play-services:9.8.0' 
    compile 'com.google.firebase:firebase-messaging:9.0.0' 
    ......... 
    compile 'com.firebase:firebase-jobdispatcher:0.6.0' 
} 

Die Lösung wurde compile 'com.firebase:firebase-jobdispatcher:0.6.0' mit

compile ("com.firebase:firebase-jobdispatcher-with-gcm-dep:0.6.0") { 
    exclude module: "play-services-gcm" 
} 

Die endgültige Version des Codes zu ersetzen, die den Fehler behoben wurde:

dependencies { 
    ......... 
    compile 'com.google.android.gms:play-services:9.8.0' 
    compile 'com.google.firebase:firebase-messaging:9.0.0' 
    ......... 
    compile ("com.firebase:firebase-jobdispatcher-with-gcm-dep:0.6.0") { 
     exclude module: "play-services-gcm" 
    } 
} 

ich auch bei https://medium.com/wiselteach/firebase-jobdispatcher-androidmonk-3e6d729ed9ce einen ähnlichen Artikel gefunden, die hilfreich sein können, die Verwendung des Firebase JobDispatcher, aber die o zu erklären Die offizielle Dokumentation befindet sich unter https://github.com/firebase/firebase-jobdispatcher-android.

Ich habe auf Geräten mit Android 4.4.2, 5.0.1, 5.1.1 und 6.0 getestet. Die App kompiliert jetzt korrekt für mich.

Verwandte Themen