导入module后出现以下问题
百度良久。。。
说法一:项目包含了两个相同包名的不同 project 或者 jar
(1)libs目录下存放有jar包,但是build.gradle中也写了导包语句。
(2)新引入的Library项目中引用了主项目中已经引用的jar包,导致重复加载包。
举例:
1、当 A Module 中有 V4包,B Module 中也有 V4包,这时就会出现这样的错误
2、com.android.dex.DexException: Multiple dex files define Lcom/sina/weibo/sdk/BuildConfig
这是导入新浪微博库出现的错误,当出现标题错误时,如果是新浪微博捣的鬼的话,你只要在标题的错误日志之前几行就可以找到如上的错误日志,那是因为WeiboSDK里面含有一个library叫weibosdkcore.jar,这个weibosdkcore.jar的package name是com.sina.weibo.sdk. 而WeiboSDK这个project的package name也是com.sina.weibo.sdk造成的
解决方法1:
删除多余的 jar
如 V4包,只要将其中一个 module 中的 V4包干掉,然后引用另一个 有 V4包的Module 就哦了
解决方法2:
打开Gradle项目中的,对应项目的脚本文件 ,改成如下的就行了
即将引用的库的条件改为provided,不要用compile.因为它们已经是库了,再编译就。。。
解决方法3:
(1)先检查Android 兼容包 support-v4 和 support-v7 包;
(2)再检查一些常用的开源项目,比如:Gson、Butter Knife、EventBus、Nineoldandroids等。
(3)建议:不要将jar包放到libs目录下,而要用Gradle构建,即在build.gradle中写导包语句。
说法二:同时在工程中引入了多个第三方jar包,导致调用的方法数超过了android设定的65536个(DEX 64K problem),进而导致dex无法生成,也就无法生成APK文件。
解决方法:(最终解决方案)