运行项目时候报错com.android.dx.command.Main with arguments {--dex --num-threads=4 --multi-dex --main-dex-lis

今天导入别人项目运行时候出现错误,无法运行

错误如下:

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.csdn.net/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 开启分包,然后添加

    dexOptions {
        javaMaxHeapSize "4g"
    }

最后来个示意图 
这里写图片描述


我的解决方法是第二种,直接设置javaMaxHeapSize就好了  。


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值