优化Android Studio/Gradle构建

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

 

开启gradle单独的守护进程

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

  • /home/<username>/.gradle/ (Linux)
  • /Users/<username>/.gradle/ (Mac)
  • C:\Users\<username>\.gradle (Windows)
  • 把下面配置复制gradle.properties文件也能够优化:
    1. # Project-wide Gradle settings.
    2. # IDE (e.g. Android Studio) users:
    3. # Settings specified in this file will override any Gradle settings
    4. # configured through the IDE.
    5. # For more details on how to configure your build environment visit
    6. # http://www.gradle.org/docs/current/userguide/build_environment.html
    7. # The Gradle daemon aims to improve the startup and execution time of Gradle.
    8. # When set to true the Gradle daemon is to run the build.
    9. # TODO: disable daemon on CI, since builds should be clean and reliable on servers
    10. org.gradle.daemon=true
    11. # Specifies the JVM arguments used for the daemon process.
    12. # The setting is particularly useful for tweaking memory settings.
    13. # Default value: -Xmx10248m -XX:MaxPermSize=256m
    14. org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    15. # When configured, Gradle will run in incubating parallel mode.
    16. # This option should only be used with decoupled projects. More details, visit
    17. # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
    18. org.gradle.parallel=true
    19. # Enables new incubating mode that makes Gradle selective when configuring projects. 
    20. # Only relevant projects are configured which results in faster builds for large multi-projects.
    21. # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
    22. org.gradle.configureondemand=true
    复制代码
    同时上面的这些参数也能够配置到前面的用户目录下的gradle.properties文件里,那样就不是针对一个项目生效,而是针对全部项目生效。
    上面的配置文件主要就是作, 增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle能够平行的运行。

    1.申请大内存java

    installation path\studio64.exe.vmoptions or studio.exe.vmoptionsjvm

    使用文本编辑器打开,找到起始两行,以下编辑器

    -Xms128m
    -Xmx750m
    ide


    修改最小值和最大值,建议为测试

    -Xms256m
    -Xmx2048m
    gradle

    2 优化编译优化

     file->setting->compileui

     勾选除第二项以外的其余选项,并在VM options里填入:this

     -Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8


通过测试,编译速度有很大提高,比较大的项目从以前的5-8分钟能够减小到1-2分钟。