美文网首页Gradle
Gradle编译优化--让你的打包速度快一倍

Gradle编译优化--让你的打包速度快一倍

作者: MartinHan01 | 来源:发表于2018-12-14 00:16 被阅读0次

前言

最近项目打包50个左右,居然要50分钟,这简直是太慢了,所以抽个空优化一下吧。顺便把结果分享给大家。先说结果,开始打包时间将近50分钟。优化后需要24分钟。

过程

要想优化,我们必须先知道优化哪里。有一个命令可以帮助我们

gradlew --profile
或者
gradle --profile

这两个的区别我就不解释了,不清楚的话自己google。

执行完这个命令之后,我们去'\build\reports\profile'路径,找到我们的profile-2017-xx-xx-xx-xx-xx.html文件。

二话不说先上图,图一图二是优化前的耗时,图三图四是优化后的耗时。
<img src="http://martinhan.site/images/2017-09-07_143730.png" width="450" height="230"><img src="http://martinhan.site/images/gradle_last.png" width="450" height="230">

下面就把我优化的过程分享下吧。

耗时的任务

我们看上图Summary,Configuration,Dependency Resolution,Task Execition,
我们看Task Excition,这里面有我们在编译期间每一次进行的耗时。
笔者在此就不发自己的了,因为还要打码。

No.1

首先在你项目的根目录调整你的gradle.properties文件
我在文件内加入了如下两行

org.gradle.jvmargs=-Xms2048m -Xmx4096m 

这两行其实就是设置你的jvm虚拟机内存,因人而异,看你机器配置。

No.2

同样是gradle.properties文件内,加入如下两行

# 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
org.gradle.parallel=true

# Enables new incubating mode that makes Gradle selective when configuring projects. 
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true

这两句官方给出的解释已经很详细,大概意思就是第一句是只能与解耦项目一起使用。
第二句是配置这句,会为大型项目加快build

No.3

找到你的项目下的build.gradle,加入如下语句

android {
    aaptOptions {
        cruncherEnabled false
    }
}

不检查png的合法性,这个大家可以根据自己的项目来判断是否开启。

结尾

我目前就改了这几处,可以将gradle提速一倍,希望能帮助到大家

相关文章

  • Gradle编译优化--让你的打包速度快一倍

    前言 最近项目打包50个左右,居然要50分钟,这简直是太慢了,所以抽个空优化一下吧。顺便把结果分享给大家。先说结果...

  • [Note] 2021-06-10 Gradle flavors

    CMake 参数传递 打包编译指令参数 -> gradle 参数 -> CMakeList 参数 -> 编译C++...

  • 如何理解Gradle?Grade在Android的构建过程中有什

    如何理解Gradle? 1、首先Gradle是什么? Gradle是一个基于Groovy的打包、编译的工具,主要面...

  • android gradle 3.0 学习笔记

    Android gradle 3.0带来了编译速度的大幅优化,api也做了大幅调整 android gradle ...

  • Xcode编译过程

    Xcode编译过程 打包过程 源码编译 静态库链接 资源编译、优化、导入 配置文件生成 签名打包 Xcode 遇到...

  • Gradle必备知识点

    之前对于Gradle的理解就是内嵌在AS里帮项目编译编译,打打包,仅次而已。。。不得其精髓,就无法享受Gradle...

  • 2019-01-03 Android 项目gralde构建工具浅

    android studio使用gradle对项目进行构建(编译,运行,打包,签名,发布),gradle的核心是g...

  • Android多渠道打包

    目录一、Python打包及优化(美团多渠道打包)二、Gradle打包三、其他打包方案:修改Zip文件的commen...

  • Gradle 番外

    Gradle介绍 使用这个工具可以完成app的编译打包等工作。当然你也可以用它干其他的事情。 Gradle的官网下...

  • 简单的学习Groovy

    基于该网站深入理解groovy学习,Android Studio使用gradle工具进行打包编译的,而gradle...

网友评论

    本文标题:Gradle编译优化--让你的打包速度快一倍

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