已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度愈来愈慢,如今最慢要6分钟才能build一个release的安装包,在网上查找资料,发现能够经过一些配置能够加快速度,这里跟你们分享一下。html
/home/<username>/.gradle/ (Linux)java
/Users/<username>/.gradle/ (Mac)android
C:\Users\<username>\.gradle (Windows)jvm
并在文件中增长:ide
org.gradle.daemon=true
同时修改项目下的gradle.properties文件也能够优化:gradle
# Project-wide Gradle settings. # IDE (e.g. Android Studio) users: # Settings specified in this file will override any Gradle settings # configured through the IDE. # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html # The Gradle daemon aims to improve the startup and execution time of Gradle. # When set to true the Gradle daemon is to run the build. # TODO: disable daemon on CI, since builds should be clean and reliable on servers org.gradle.daemon=true # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -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 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
同时上面的这些参数也能够配置到前面的用户目录下的gradle.properties文件里,那样就不是针对一个项目生效,而是针对全部项目生效。优化
上面的配置文件主要就是作, 增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle能够平行的运行。ui
在android studio的配置中,开启offline模式,以及修改配置。实际上的配置和上面的一大段同样,主要是在这个地方配置的只会在ide构建的时候生效,命令行构建不会生效。this
基于上面的配置,命令行构建时在命令后面加上这个参数便可 --daemon --parallel --offline
。spa
使用网上第三方的依赖库时尽可能使用aar,能够在连接描述或者连接描述搜索。
本身的库模块也能够打包成aar,关于这个能够参考stormzhang的文章连接描述。
通过这样一番折腾,我原来须要4,5分钟才能构建完成的项目,如今只须要30秒左右就能够构建完成了。固然了,若是你这样仍是不能够的话,那么,你应该换电脑了,ssd的硬盘,更大的内存,必须的上了。
原文地址,转载请注明出处。