com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com / onesignal / ActivityLifecycleHandler $ 1.class

时间:2017-06-22 19:02:24

标签: java android android-studio android-gradle signed-apk

我在android studio上尝试生成签名的apk时收到错误。 研究表明,我需要将一个模块排除在一个已编译的jar文件中。但我不知道哪一个需要被排除在外。

The following is my list of dependancies
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.onesignal:OneSignal:3.+@aar'
    compile files('libs/antlr-runtime-3.2.jar')
    compile files('libs/ical4j-1.0.2.jar')
    compile files('libs/jsoup-1.8.1.jar')
    compile files('libs/listviewanimations_lib-core-slh_3.1.0.jar')
    compile files('libs/listviewanimations_lib-core_3.1.0.jar')
    compile files('libs/listviewanimations_lib-manipulation_3.1.0.jar')
    compile files('libs/natty-0.7.jar')
    compile files('libs/nineoldandroids-2.4.0.jar')
    compile files('libs/universal-image-loader-1.9.3.jar')
    compile files('libs/YouTubeAndroidPlayerApi.jar')
    compile files('libs/commons-io-2.5.jar')
    compile project(':hijriCalendarLibrary')
    compile 'com.android.support:design:25.3.0'
    testCompile 'junit:junit:4.12'
    compile ('com.android.support:appcompat-v7:25.3.0'){
        exclude module: 'support-v4'
    }
    compile 'com.google.android.gms:play-services-gcm:10.2.1'
    compile 'com.google.android.gms:play-services-location:10.2.1'
    compile 'com.google.android.gms:play-services-analytics:10.2.1'
    compile 'com.google.android.gms:play-services-ads:10.2.1'
    compile 'com.android.support:support-v4:25.3.0'
    compile 'com.android.support:recyclerview-v7:25.3.0'
    compile 'com.bignerdranch.android:expandablerecyclerview:1.0.3'
    testCompile 'junit:junit:4.12'
}

这是收到的完整错误:

    * What went wrong:
Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/onesignal/ActivityLifecycleHandler$1.class

我如何纠正这个问题?

2 个答案:

答案 0 :(得分:0)

据我所知,问题在于这种依赖性:

compile 'com.onesignal:OneSignal:3.+@aar'

它使用名为“ActivityLifecycleHandler”的类,这是产生冲突的类,必须有一个使用相同类的其他依赖项。

尝试查找具有此类的其他依赖项,或尝试从上面给出的依赖项中排除此类。

答案 1 :(得分:0)

我遇到了同样的问题。 这是因为项目libs文件夹中存在jar文件'OneSignalSDK.jar'。 删除后问题解决了。