0

Android 6.0이있는 기기에서는 앱이 올바르게 컴파일되지만 Android 4.4.2가있는 휴대 전화에서는 컴파일되지 않습니다. 내 build.gradle 파일에서오류 : ': app : transformClassesWithJarMergingForDebug'작업의 실행에 실패했습니다. > 중복 항목 : 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 

, 내가 이것을 사용하고 있습니다 :

dependencies { 
    ...... 
    compile 'com.google.android.gms:play-services:9.8.0' 
    compile 'com.google.firebase:firebase-messaging:9.0.0' 
    ...... 
} 
나는 안드로이드 4.4.2와 장치를 사용하여, 안드로이드 스튜디오 2.2.3에서 프로젝트를 컴파일 할 때이 오류가 나타납니다

Build/Clean Project은 SergioLucas가 제안한대로 Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'으로 시도했으며 Benjamin이 제안한대로 Android studio APK buil error transformClassesWithJarMergingForDebug의 모든 Google Play 서비스 라이브러리에서 동일한 버전을 사용해 보았습니다. 내 경우에는 com.google.android.gms:play-servicescom.google.firebase:firebase-messaging에 9.8.0을 사용하여 오류를 수정하지 않았습니다. 어떤 아이디어? 고맙습니다.

편집 :

응용이 제대로 컴파일 및 안드로이드 5.1.1, 5.0.1 및 6.0 장치에 제로 문제. Android 4.4.2가 설치된 테스트 도구에서만이 오류가 발생합니다. 그것은 나에게 오류는 안드로이드 4.x의에서 어떤 일이 일어나고 있다는 사실을 호기심, 그리고 모든 컴파일 및 안드로이드 5.x 및 6.x에있는 장치에 제대로 작동

enter image description here

: 이미지 오류를 참조하십시오 아마 이전 버전의 Android,이 경우 Android 4.x와 호환되도록 특정 라이브러리가 필요합니까? 이 오류를 수정하기위한 힌트를 제공해 주시면 감사하겠습니다. 고맙습니다.

답변

0

해결 방법은 sampyng가 https://github.com/firebase/firebase-jobdispatcher-android/issues/3에 공유 한 코드입니다. 이 솔루션은

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

이었다 오류를 수정 코드의 최종 버전 compile 'com.firebase:firebase-jobdispatcher:0.6.0'를 교체했다

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' 
} 

: 이것은 내 app/build.gradle 파일 (오류를 생성 된 버전)을 한 것입니다 :

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" 
    } 
} 

나는 또한 https://medium.com/wiselteach/firebase-jobdispatcher-androidmonk-3e6d729ed9ce에서 중포 기지 JobDispatcher의 사용을 설명하는 것이 도움이 될 수있는 관련 기사를 찾았지만 오 자세한 문서는 https://github.com/firebase/firebase-jobdispatcher-android입니다.

Android 4.4.2, 5.0.1, 5.1.1 및 6.0이 장착 된 기기에서 테스트되었습니다. 응용 프로그램이 나를 위해 올바르게 컴파일됩니다.