Android 友盟和微信的包冲突:Multiple dex files define Lcom/tencent/a/a/a/a/a;

时间:2024-01-13 18:43:08

最近App中有个需求是添加微信支付,就在微信技术官网 http://open.weixin.qq.com,查看一下文档,然后下载SDk,Demo。把SDK集成进项目。

照着微信的文档,把jar包和进来之后,build apk,报了下面这个错。

Error:Execution failed for task ':app:transformClassesWithDexForBaiduDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/tencent/a/a/a/a/a;

就是说两个jar包冲突了,第一个怀疑就是友盟,因为里面集成了微信,qq分享,极有可能冲突。下面是jar包展开的图,标注为1的红框就是友盟的其中一个jar包。

Android 友盟和微信的包冲突:Multiple dex files define Lcom/tencent/a/a/a/a/a;

解决办法:

把友盟的包删了,就是那个 SocialSDK_WeiXin_1.jar

(微信的jar包也可以用gradle导进来,上图只是为了对比查看)

gradle导微信包,在gradle文件中添加:

dependencies {
    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
}