美文网首页
怎样将Gradle构建速度提升90%

怎样将Gradle构建速度提升90%

作者: AndroidHint | 来源:发表于2020-02-16 18:01 被阅读0次

    一、第一个最有效的办法

    检查你使用的Gradle插件版本,是不是最新的。如果不是最新的,请升级到Gradle插件的最新版本。

    Gradle在升级过程中一直对构建速度做了优化,升级到Gradle最新版本后,能将构建速度提升80%,这是最有效的办法。

    二、Gradle的一些配置项

    1、Gradle Daemon

    开启Gradle的守护进程来构建项目:

    org.gradle.daemon=true

    2、Parallel Project Execution

    如果你要构建一个多Module并且依赖关系比较复杂的项目,那么你可以使用并行项目执行:

    org.gradle.parallel=true

    3、Global gradle.properties

    在Gradle主目录中配置的属性优先级高于在项目中配置的属性。当你并不想一个个项目的去改动配置时,可以定义一份常用的Gradle配置文件放在Gradle的主目录下,它的路径如下:

    /Users/用户名/.gradle/gradle.properties

    #Enable daemon
    org.gradle.daemon=true
    
    # Try and findout the best heap size for your project build.
    org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    
    # Modularise your project and enable parallel build
    org.gradle.parallel=true
    
    # Enable configure on demand.
    org.gradle.configureondemand=true
    

    三、去掉耗时任务

    在项目的Terminal下运行如下命令:

    gradle build -profile
    

    可以获取构建报告,它是以HTML的形式展示的。

    基于上述的优化,我们看一下当前的构建报告:

    第一次执行

    由于第一次没有构建缓存,因此第一次比较慢,用时5分11秒。

    第二次执行

    相比较第一次,已经有了很大的进步了,用时1分26秒左右。我们再来看一下这一分26秒是用在哪里了:


    在Task Execution(任务执行)中,可以看到每一个项目中耗时最长的竟然是lint任务。lint任务就是静态代码检测,不管你有没有用到lint,默认都会执行这个任务。

    由于我们项目中并没有用到lint,所以我们将lint任务去掉,也就是在执行build命令时加上-x lint这个参数,即

    gradle build -x lint
    

    第三次执行

    可以看到将lint任务去掉后,构建时间只用了26秒,这个时间还是可以接受的。

    经过上面的优化后,Gradle构建速度从以往平均4分钟,减少到了26秒,优化率达到了89%。

    Tips:使用Android Studio任务栏直接点击运行按钮是不能去掉lint任务的,所以为了方便构建后安装应用,可以使用 gradle installDebug -x lint 命令。

    四、结论

    Gradle的插件版本对Gradle的构建速度相差很大,由于Gradle版本升级一直致力于提升构建速度,所以强烈推荐升级Gradle版本,以获取最大限度的构建速度,再经过Gradle的一些配置和减少耗时任务,完全可以在40秒之内构建好一个项目。

    相关文章

      网友评论

          本文标题:怎样将Gradle构建速度提升90%

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