Gradle 给我们的Android开发带来很大的便利,同事Gradle也是很灵活的,配置起来很’方便’,而且我们的开发工具AndroidStudio也是基于Gradle的,但是随着我们项目越来越大,依赖也越来越多,导致了编译起来非常慢。

在网上搜索的时候我们能找到很多优化AndroidStudio Gradle编译的方法,例如:

  1. 配置 gradle.properties 在文件中添加如下代码

    1
    2
    3
    4
    org.gradle.daemon = true
    org.gradle.parallel = true
    org.gradle.configureondemand=true
    org.gradle.jvmargs=-Xms256m -Xmx1024m
  2. 把 gradle 设置成离线模式 offline work

    离线模式下 ,应该不能修改任何 build.gradle 文件。也就是说如果gradle 在Androidstudio中提示你要 sync 时,必须要联网。

  3. set up large vm heap size: 2G (这个是别人说的我也不知道怎么设置)


Gradle 为什么慢?

  • 有些task运行起来就很慢
  • 设置了multiDexEnabled
  • 依赖库太多,下载慢

如何知道自己项目中是由那个原因引起的

可以在gradle 运行的时候给每个task添加一个参数 --profile ,用了监视task的运行,并打印log 最终log以html的方式打印在你的项目下的 build/reports/profile/ 中,根据不同时间命名的。

可以配置到AndroidStudio中,或者直接在命令行运行的时候添加./gradlew clean buildAll --profile

其他优化办法就是就代码依赖库进行删减了,没什么技术含量,还有就是选择编译。

如下图所示:

【参考文章】