Gradle(Android Studio)构建极长

 卖火柴的kula1988zkef 发布于 2022-12-31 17:59

现在我们正处于构建时间为2分30秒的情况下进行非常简单的更改.这(与ANT相比)速度惊人,并且正在削弱整个团队的生产力.我正在使用Android Studio并使用"使用本地gradle分发".我试图给予更多的记忆力:

org.gradle.jvmargs = -Xmx6096m -XX:MaxPermSize = 2048m -XX:+ HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8

更多的记忆.并且它仍然不时给记忆带来错误.

线程"pool-1-thread-1"中的异常java.lang.OutOfMemoryError:超出GC开销限制

惊人.我正在使用并行选项和守护进程:

org.gradle.parallel =真

org.gradle.daemon =真

它并没有真正帮助.

我把上述参数放在〜/ .gradle/gradle.properties中(我甚至怀疑Android工作室是否忽略了这一点,所以我测试了 - 它并没有忽略它).

仍然从终端我在Android Studio中获得1:30构建时间与2:30,所以不确定那里有什么问题.与Ant相比,1:30仍然是疯狂的.如果您知道Android Studio正在做什么(或忽略或重写为gradle配置),我将不胜感激.

所以只需要CMD + B(简单编译)就可以在变化后超快,比如7秒.但是当涉及到运行应用程序时,它会启动任务dexXxxDebug,这只是在杀死我们.我试过试试

dexOptions {
    preDexLibraries = false
}

没有帮助.

我知道gradle可能还没有为生产环境做好准备,但我开始后悔我们决定尽早采取行动.我们有很多模块,这可能是问题的一部分,但这不是Ant的问题.

任何帮助表示赞赏,Dan

有关执行时间的更多信息:

描述持续时间

Total Build Time    1m36.57s
Startup 0.544s
Settings and BuildSrc   0.026s
Loading Projects    0.027s
Configuring Projects    0.889s
Task Execution  1m36.70s

时间吃的人:app:dexDebug 1m16.46s

2 个回答
  • 我不太确定为什么Android Studio比命令行慢,但你可以通过启用增量dexing来加速你的构建.在模块的构建文件中,将此选项添加到android块中:

    dexOptions {
        incremental true
    }
    

    在该dexOptions块中,您还可以指定dex进程的堆大小,例如:

    dexOptions {
        incremental true
        javaMaxHeapSize "4g"
    }
    

    这些选项来自adt-dev邮件列表(https://groups.google.com/forum/#!topic/adt-dev/r4p-sBLl7DQ)上的一个主题,该主题具有更多上下文.

    2022-12-31 18:00 回答
  • 我们的团队面临同样的问题.我们的项目超出了dex的方法限制(> 65k).因此,在库项目中,我们将以下选项放在build.gradle中:

    dexOptions {
        jumboMode = true
        preDexLibraries = false
    }
    

    在我们的项目build.gradle中:

     dexOptions {
        jumboMode = true
    //  incremental true
    }
    

    以前我们有增量真实.在评论之后它需要大约20秒运行,相比之下2分30秒.我不知道这可能会解决你的问题.但它可以帮助别人.:)

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