30秒让你加速Android Studio/Gradle构建

移动开发 Android
已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下。

已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下。

开启gradle单独的守护进程

在下面的目录下面创建gradle.properties文件:

  • /home/<username>/.gradle/ (Linux)
  • /Users/<username>/.gradle/ (Mac)
  • C:\Users\<username>\.gradle (Windows)

并在文件中增加:

  1. org.gradle.daemon=true 

同时修改项目下的gradle.properties文件也可以优化:

  1. # Project-wide Gradle settings.  
  2.  
  3. # IDE (e.g. Android Studio) users:  
  4. # Settings specified in this file will override any Gradle settings  
  5. # configured through the IDE.  
  6.  
  7. # For more details on how to configure your build environment visit  
  8. # http://www.gradle.org/docs/current/userguide/build_environment.html  
  9.  
  10. # The Gradle daemon aims to improve the startup and execution time of Gradle.  
  11. # When set to true the Gradle daemon is to run the build.  
  12. # TODO: disable daemon on CI, since builds should be clean and reliable on servers  
  13. org.gradle.daemon=true  
  14.  
  15. # Specifies the JVM arguments used for the daemon process.  
  16. # The setting is particularly useful for tweaking memory settings.  
  17. # Default value: -Xmx10248m -XX:MaxPermSize=256m  
  18. org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 
  19.  
  20. # When configured, Gradle will run in incubating parallel mode.  
  21. # This option should only be used with decoupled projects. More details, visit  
  22. # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects  
  23. org.gradle.parallel=true  
  24.  
  25. # Enables new incubating mode that makes Gradle selective when configuring projects.   
  26. # Only relevant projects are configured which results in faster builds for large multi-projects.  
  27. # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand  
  28. org.gradle.configureondemand=true  

同时上面的这些参数也可以配置到前面的用户目录下的gradle.properties文件里,那样就不是针对一个项目生效,而是针对所有项目生效。

上面的配置文件主要就是做, 增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以平行的运行。

修改android studio配置

在android studio的配置中,开启offline模式,以及修改配置。实际上的配置和上面的一大段一样,主要是在这个地方配置的只会在ide构建的时候生效,命令行构建不会生效。

命令行构建

基于上面的配置,命令行构建时在命令后面加上这个参数即可 --daemon --parallel --offline

引入依赖库时使用aar

使用网上第三方的依赖库时尽量使用aar,可以在mavenhttp://gradleplease.appspot.com/或者githuhttps://github.com/Goddchen/mvn-repo搜索。

自己的库模块也可以打包成aar,关于这个可以参考stormzhang的文章http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/

后记

经过这样一番折腾,我原来需要4,5分钟才能构建完成的项目,现在只需要30秒左右就可以构建完成了。当然了,如果你这样还是不可以的话,那么,你应该换电脑了,ssd的硬盘,更大的内存,必须的上了。

责任编辑:林师授 来源: Sam的博客
相关推荐

2013-07-18 17:00:12

Gradle构建AndAndroid开发Android学习

2016-11-21 08:26:36

2011-01-13 14:38:00

JavascriptCSSWeb

2017-04-11 09:07:55

AndroidGradle构建变体

2015-12-03 09:59:00

网站构建分析

2020-05-09 08:58:53

插件Android Stu开发工具

2017-04-13 14:55:07

AndroidGradle多模块构建

2023-06-15 08:00:23

2017-03-15 09:42:43

软件开发云携手

2023-10-10 16:20:38

JavaScript代码技巧

2017-06-07 18:40:33

PromiseJavascript前端

2009-12-25 16:11:40

Linux操作系统

2024-02-28 16:20:58

Windows技巧

2009-12-02 08:51:52

Windows 7命令行

2022-12-30 08:17:28

Gradle多模块项目

2011-01-19 11:20:17

职场

2020-04-26 15:38:28

Docker容器

2020-05-21 15:14:15

Python列表字典

2011-10-28 11:27:58

云计算VMware

2021-12-05 23:07:32

二手电脑电商笔记本
点赞
收藏

51CTO技术栈公众号