当我在我的项目中包含espresso快照jar时,我的gradle编译挂起然后踢出以下消息:
UNEXPECTED TOP-LEVEL ERROR: java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.Arrays.copyOf(Arrays.java:2219) at java.util.ArrayList.toArray(ArrayList.java:358) at java.util.ArrayList.(ArrayList.java:164) at com.android.dx.ssa.SsaMethod.getUseListCopy(SsaMethod.java:660) at com.android.dx.ssa.ConstCollector.updateConstUses(ConstCollector.java:333) at com.android.dx.ssa.ConstCollector.run(ConstCollector.java:147) at com.android.dx.ssa.ConstCollector.process(ConstCollector.java:75) at com.android.dx.ssa.Optimizer.runSsaFormSteps(Optimizer.java:181) at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:99) at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:72) at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:303) at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139) at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94) at com.android.dx.command.dexer.Main.processClass(Main.java:682) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634) at com.android.dx.command.dexer.Main.access$600(Main.java:78) at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) at com.android.dx.command.dexer.Main.processOne(Main.java:596) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264) at com.android.dx.command.dexer.Main.run(Main.java:230) at com.android.dx.command.dexer.Main.main(Main.java:199) at com.android.dx.command.Main.main(Main.java:103) :Project:dexFlavorEnterpriseDebug FAILED
根据我的研究,这听起来像是一个依赖性问题.你会怎么建议我去解决这个问题?
我尝试碰撞堆空间(-Xmx2048),但是在我的计算机变得越来越热但未完成时,构建运行了很长一段时间(几分钟).没有这个jar,编译永远不会超过一分钟.
我认为有一种单独的方法可以提高dexing操作的堆限制.将它添加到build.gradle文件中的android闭包中:
dexOptions { incremental true javaMaxHeapSize "4g" }