Android 友盟和微信的包冲突:Multiple dex files define Lcom/tencent/a/a/a/a/a;
最近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包。
解决办法:
把友盟的包删了,就是那个 SocialSDK_WeiXin_1.jar
(微信的jar包也可以用gradle导进来,上图只是为了对比查看)
gradle导微信包,在gradle文件中添加:
dependencies {
compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
}