Android Espresso - java.lang.OutOfMemoryError:超出GC开销限制

 H-蔡鸿晖_515 发布于 2023-02-13 12:37

当我在我的项目中包含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,编译永远不会超过一分钟.

1 个回答
  • 我认为有一种单独的方法可以提高dexing操作的堆限制.将它添加到build.gradle文件中的android闭包中:

    dexOptions {
        incremental true
        javaMaxHeapSize "4g"
    }
    

    2023-02-13 12:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有