提升Gradle编译速度

作者: 撸代码的皇太极 | 来源:发表于2019-05-07 09:44 被阅读21次

    Gradle是Android项目的全新构建系统,使用AndroidStudio工具开发项目的童鞋应该很清楚了,Gradle是基于JVM的构建工具的下一个革命性步骤。它借鉴了已建立的工具(如Ant和Maven)的经验教训,并将他们最好的想法提升到了一个新的水平。但随着Android项目变得越来越复杂,模块越来越多,代码量越来越大的时候,构建性能就显得尤为重要。如果你不进行优化,那么你会发现你平时编译的时间都快和编码的时间相当了!这是一个很恐怖的致命BUG!
    说到提升编译性能,大家可能会想到Instant Run,Instant Run固然是好,但是一旦你的项目使用到了MultiDex就悲剧了,各种ClassLoader报错。。。这个时候第三方框架比如FreeLine就派上用场了,不过本文主角并不是FreeLine,而是如何优化Gradle配置来提升编译速度。好吧直接看gradle.properties文件配置:

    # Specifies the JVM arguments used for the daemon process.
    # The setting is particularly useful for tweaking memory settings.
    # org.gradle.jvmargs=-Xmx1536m
    # 指定用于守护程序进程的JVM参数。
    # 该设置对于调整内存设置特别有用。
    # 默认值:-Xmx10248m -XX:MaxPermSize = 256m
    org.gradle.jvmargs = -Xmx2048m -XX:MaxPermSize = 512m -XX:+ HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8
    
    # When configured, Gradle will run in incubating parallel mode.
    # This option should only be used with decoupled projects. More details, visit
    # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
    
    # 设置为true时,Gradle守护程序将运行构建。
    org.gradle.daemon = true
    # 配置后,Gradle将以孵化并行模式运行。
    # 此选项仅应与分离的项目一起使用。更多细节,访问
    # http ://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
    org.gradle.parallel=true
    # 启用新的孵化模式,使Gradle在配置项目时具有选择性。
    # 仅配置相关项目,从而加快大型多项目的构建速度。
    # http ://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
    org.gradle.configureondemand = true
    
    • 如果要从增量构建中永久跳过lint检查,可以将其添加到根build.gradle
    allprojects {
        //跳过构建时link检查
        tasks.whenTaskAdded { task ->
            if (task.name.equals("lint")) {
                task.enabled = false
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:提升Gradle编译速度

        本文链接:https://www.haomeiwen.com/subject/jgusoqtx.html