今天导入别人项目运行时候出现错误,无法运行
错误如下:
Error:Execution failed for task ':app:transformClassesWithDexForQihu360Debug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.android.dx.command.Main with arguments {--dex --num-threads=4 --multi-dex --main-dex-list C:\Users\zgc\Desktop\KinYi_Android\app\build\intermediates\multi-dex\qihu360\debug\maindexlist.txt --output C:\Users\zgc\Desktop\KinYi_Android\app\build\intermediates\transforms\dex\qihu360\debug\folders\1000\1f\main C:\Users\zgc\Desktop\KinYi_Android\app\build\intermediates\transforms\jarMerging\qihu360\debug\jars\1\1f\combined.jar}
网上查了好多办法已经解决,特此记录一下
其推测报错原因有二个方面:
第一:整个项目中,出现重复引用第三方包,具体解决方案,详见博客
http://blog.youkuaiyun.com/willba/article/details/70244798
如:compile’com.android.support:appcompat-v7:24.1.0’ ,V7包版本不一致的问题了。
在app Module中compile 了 V7包,而在Library Module中导入的却是v4 包,报了错,把v4 改成v7 ,问题解决!
第二:其文件的方法引用超过了65535个方法限制,
其解决方案为: 给项目进行分包操作,然后对其虚拟机堆分配内存大小
在app的gradler配置文件中,添加 multiDexEnabled true 开启分包,然后添加
最后来个示意图
我的解决方法是第二种,直接设置javaMaxHeapSize就好了 。