处理Bmob冲突Error:Execution failed for task ':app:transformClassesWithJarMergingFor...'.

最近在用Bmob,这样自己就剩去了服务器的麻烦,在编码过程中没出什么问题,我最后准备打包发布的时候问题来了,各种包冲突解决了一个又一个。

出现冲突

冲突如下:

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


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

暂时只贴这两个吧,还有其他的,如果你导入的三方包越多那么出问题的机率就越大。

解决方法

解决方法就是去除冲突的包咯,那么怎么去除呢?
去除包中的group
例如:

compile ('com.squareup.retrofit2:converter-gson:2.0.2')
            {exclude group: 'com.google.code.gson'
                exclude group: 'com.squareup.okhttp3' }

以上也只是其中一种。
下面我列出我用到的

compile ('com.squareup.retrofit2:converter-gson:2.0.2')
            {exclude group: 'com.google.code.gson'
                exclude group: 'com.squareup.okhttp3' }
    compile ('com.squareup.retrofit2:adapter-rxjava:2.0.2')
            { exclude group: 'io.reactivex'
                exclude group: 'com.squareup.okhttp3' }
    compile ('com.squareup.okhttp3:logging-interceptor:3.3.1')
            { exclude group: 'com.squareup.okhttp3' }

提醒

最后我再提一点,就是如果用bmob那么它所带有的三方包就不用额外导入了。如下:

com.google.code.gson:gson
com.squareup.retrofit2:retrofit
com.squareup.okhttp3:okhttp
com.squareup.okio:okio
io.reactivex:rxjava
io.reactivex:rxandroid

使用Bmob就到这里了。

你可能感兴趣的:(处理Bmob冲突Error:Execution failed for task ':app:transformClassesWithJarMergingFor...'.)