加快AS的Gradle Build速度
随着项目的代码以及依赖库的日益增多,构建的速度却是越来越慢,Android Studio2.0 之后提供了Instant Run貌似福利来了,但经过一段时间的使用发现不尽如人意,最大的吐槽点是首次编译的速度真是慢的让人抓狂,编译当前的项目就得5分钟左右。。。
所以,我对Instant Run的目前选择是从入门到放弃。。。转而寻求其他方法,将构建耗时从5分钟减少到1分钟多,在此分享给感兴趣的同学。
一、创建配置文件
打开Mac用户名下的.gradle文件夹,在以下目录中:
/Users/username/.gradle/
新建一个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 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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
上面的这些参数也可以配置到前面的用户目录下的gradle.properties文件里,那样就不是针对一个项目生效,而是针对所有项目生效。
上面的配置文件主要就是做, 增大gradle运行的Java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以平行的运行。
二、配置Android Studio的Gradle
在android studio的配置中,开启offline模式,以及修改配置。实际上的配置和上面的一大段一样,主要是在这个地方配置的只会在ide构建的时候生效,命令行构建不会生效。
三、配置当前项目core下build.gradle
添加dex增量编译
这还是一个实验性的功能,但是还是推荐打开试试,设置dexOptions
dexOptions {
//使用增量模式构建
incremental true//最大堆内存
javaMaxHeapSize "8g"//是否支持大工程模式
jumboMode = true//预编译
preDexLibraries = true//线程数
threadCount = 8
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
以上就配置完毕,如果哪位同学有更好的方法,欢迎拍砖~
加快AS的Gradle Build速度的更多相关文章
- Gradle Build速度加快方法汇总
Android Studio用起来越来越顺手,但是却发现Build的速度实在不敢恭维,在google和度娘了几把(....)之后,大体就是分配更高的内存,步骤:Setting-->搜索gradl ...
- Gradle Build速度加快终极方法(android studio)
Android Studio用起来越来越顺手,但是却发现Build的速度实在不敢恭维,在google和度娘了几把(....)之后,大体就是分配更高的内存,步骤:Setting-->搜索gradl ...
- android studio Gradle Build速度加快方法
设置离线编译就可以解决这个问题了.如下图所示:
- 记——加快gradle 构建速度的经验
Gradle作为一个新的构建系统,无疑在灵活,扩展,跨平台等各方面都表现得非常优秀,然而,它也有一点备受吐槽,就是速度慢.以下为本人使用gradle过程中,几次加快gradle构建速度的经验之谈. 本 ...
- 加速Android Studio的Gradle构建速度
在利用Android Studio做项目时,发现随着项目内资源的逐渐增多(或者项目创建时间太过久远,而又未经常打开),Android Studio的build速度也越来越慢.(P.S.在做我的CSGO ...
- Android提升Gradle编译速度或减少Gradle编译时间.md
目录 Android如何提升Gradle编译速度或减少Gradle编译时间 最终优化方案 优化效果比对 将所有项目源码,各种缓存临时目录都移动到高性能SSD磁盘上 gradle.properties ...
- Jenkins报错'Gradle build daemon disappeared unexpectedly'的问题解决
在将项目集成到 Jenkins 后,经常会出现不稳定的构建,Jenkins 控制台输出的错误信息为:Gradle build daemon disappeared unexpectedly (it m ...
- android studio 一直卡在Gradle:Build Running的解决办法
转:android studio 一直卡在Gradle:Build Running的解决办法 在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的 ...
- 转:android studio 一直卡在Gradle:Build Running的解决办法
在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的情况,解决方法如下: 方法1: 1.在C:\User\<用户名>\.gradle 目录 ...
随机推荐
- delphi 游戏
http://www.cnblogs.com/devlyn/archive/2010/08/24/1807190.html
- delphi teechrt中TChart 一些属性设置
把图片设置成黑白 2.设置颜色
- Android中的"Unable to start activity ComponentInfo"错误
在调试的过程中发现一直报这个错误"Unable to start activity ComponentInfo",从字面的意思看是无法启动某个activity组件,但是看了mani ...
- C#编程(七十二)----------DynamicObject和ExpandoObject
DynamicObject和ExpandoObject 1.ExpandoObject表示一个对象,该对象包含可在运行时动态添加和移除的成员.这个类和动态类型有关,这个类能做些什么? 案例: //Ex ...
- ZooKeeper_客户端工具zkCli.sh使用
#一.命令 [root@VM_31_182_centos bin]# ./zkCli.sh -server 127.0.0.1:2181 #二.帮助命令 help #三.创建.修改.删除.退出de ...
- Mac iterm2 创建服务器列表
- UICollectionViewFlowLayout使用示例
UICollectionViewFlowLayout使用示例 效果 源码 https://github.com/YouXianMing/iOS-Project-Examples // // ViewC ...
- 犯罪现场调查第一季/全集CSI迅雷下载
英文译名 CSI (第1季) (2000首播)CBS. 本季看点:<犯罪现场调查>赌城拉斯维加斯吸引着做发财梦的人,也吸引着形形色色的罪犯,该市警察局的犯罪现场调查局在全美国名列第二.该剧 ...
- Java并发编程的艺术(一)——并发编程需要注意的问题
并发是为了提升程序的执行速度,但并不是多线程一定比单线程高效,而且并发编程容易出错.若要实现正确且高效的并发,就要在开发过程中时刻注意以下三个问题: 上下文切换 死锁 资源限制 接下来会逐一分析这三个 ...
- ImageView和onTouchListener实现,点击查看图片细节
这是来自疯狂android讲义上的例子,其实没啥意思.就是用监听器获取到手指的坐标,然后根据这个坐标开始绘制一个图片.(这里的绘制方式有些问题,所以凑合看看吧.) 首先,还是布局文件(两个ImageV ...