让studio编译速度飞起来
来源:互联网 发布:html5手机端模板 知乎 编辑:程序博客网 时间:2024/05/21 20:23
加速Android Studio/Gradle构建
已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下。
开启gradle单独的守护进程
在下面的目录下面创建gradle.properties
文件:
/home/<username>/.gradle/
(Linux)/Users/<username>/.gradle/
(Mac)C:\Users\<username>\.gradle
(Windows)
并在文件中增加:
org.gradle.daemon=true
同时修改项目下的gradle.properties
文件也可以优化:
# 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 serversorg.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=256morg.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_projectsorg.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_demandorg.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/。
最后谢谢码农明明桑的无私分享!
- 让studio编译速度飞起来
- 让android4.0 的编译速度飞起来
- 让visual studio飞起来
- 让电信网通的速度飞起来!
- 让你的N81速度飞起来
- 让SDK下载速度飞起来
- Android Studio 2.0 让studio飞起来
- 编译安装pypy,让py飞起来
- 嗜好发飙就请进 让迅雷等下载速度飞起来
- 解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度
- 解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度
- 解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度
- 解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度
- 解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度
- 解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度
- 解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度
- 解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度
- 解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度
- RabbitMQ高可用性集群镜像实施方案
- python exercise1
- Facebook Surround360 学习笔记--(2)算法原理
- MongoDB总结(1)
- 关于自定义的时间类型,,,前后台展示的不同格式
- 让studio编译速度飞起来
- 交叉编译zlib
- 嵌入式操作系统uC/OS-II的定时器Timer使用及分析
- 项目不受SVN版本控制
- Facebook Surround360 学习笔记--(3)硬件设计要点
- Git入门
- Python练习
- Storm Kafka Integration (0.10.x+)官方文档翻译:storm与kafka整合
- HTML基础