随着项目的代码以及依赖库的日益增多,构建的速度却是越来越慢,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速度的更多相关文章

  1. Gradle Build速度加快方法汇总

    Android Studio用起来越来越顺手,但是却发现Build的速度实在不敢恭维,在google和度娘了几把(....)之后,大体就是分配更高的内存,步骤:Setting-->搜索gradl ...

  2. Gradle Build速度加快终极方法(android studio)

    Android Studio用起来越来越顺手,但是却发现Build的速度实在不敢恭维,在google和度娘了几把(....)之后,大体就是分配更高的内存,步骤:Setting-->搜索gradl ...

  3. android studio Gradle Build速度加快方法

    设置离线编译就可以解决这个问题了.如下图所示:

  4. 记——加快gradle 构建速度的经验

    Gradle作为一个新的构建系统,无疑在灵活,扩展,跨平台等各方面都表现得非常优秀,然而,它也有一点备受吐槽,就是速度慢.以下为本人使用gradle过程中,几次加快gradle构建速度的经验之谈. 本 ...

  5. 加速Android Studio的Gradle构建速度

    在利用Android Studio做项目时,发现随着项目内资源的逐渐增多(或者项目创建时间太过久远,而又未经常打开),Android Studio的build速度也越来越慢.(P.S.在做我的CSGO ...

  6. Android提升Gradle编译速度或减少Gradle编译时间.md

    目录 Android如何提升Gradle编译速度或减少Gradle编译时间 最终优化方案 优化效果比对 将所有项目源码,各种缓存临时目录都移动到高性能SSD磁盘上 gradle.properties ...

  7. Jenkins报错'Gradle build daemon disappeared unexpectedly'的问题解决

    在将项目集成到 Jenkins 后,经常会出现不稳定的构建,Jenkins 控制台输出的错误信息为:Gradle build daemon disappeared unexpectedly (it m ...

  8. android studio 一直卡在Gradle:Build Running的解决办法

    转:android studio 一直卡在Gradle:Build Running的解决办法   在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的 ...

  9. 转:android studio 一直卡在Gradle:Build Running的解决办法

    在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的情况,解决方法如下: 方法1: 1.在C:\User\<用户名>\.gradle 目录 ...

随机推荐

  1. delphi 游戏

    http://www.cnblogs.com/devlyn/archive/2010/08/24/1807190.html

  2. delphi teechrt中TChart 一些属性设置

    把图片设置成黑白 2.设置颜色

  3. Android中的"Unable to start activity ComponentInfo"错误

    在调试的过程中发现一直报这个错误"Unable to start activity ComponentInfo",从字面的意思看是无法启动某个activity组件,但是看了mani ...

  4. C#编程(七十二)----------DynamicObject和ExpandoObject

    DynamicObject和ExpandoObject 1.ExpandoObject表示一个对象,该对象包含可在运行时动态添加和移除的成员.这个类和动态类型有关,这个类能做些什么? 案例: //Ex ...

  5. ZooKeeper_客户端工具zkCli.sh使用

    #一.命令 [root@VM_31_182_centos bin]# ./zkCli.sh -server 127.0.0.1:2181   #二.帮助命令 help #三.创建.修改.删除.退出de ...

  6. Mac iterm2 创建服务器列表

  7. UICollectionViewFlowLayout使用示例

    UICollectionViewFlowLayout使用示例 效果 源码 https://github.com/YouXianMing/iOS-Project-Examples // // ViewC ...

  8. 犯罪现场调查第一季/全集CSI迅雷下载

    英文译名 CSI (第1季) (2000首播)CBS. 本季看点:<犯罪现场调查>赌城拉斯维加斯吸引着做发财梦的人,也吸引着形形色色的罪犯,该市警察局的犯罪现场调查局在全美国名列第二.该剧 ...

  9. Java并发编程的艺术(一)——并发编程需要注意的问题

    并发是为了提升程序的执行速度,但并不是多线程一定比单线程高效,而且并发编程容易出错.若要实现正确且高效的并发,就要在开发过程中时刻注意以下三个问题: 上下文切换 死锁 资源限制 接下来会逐一分析这三个 ...

  10. ImageView和onTouchListener实现,点击查看图片细节

    这是来自疯狂android讲义上的例子,其实没啥意思.就是用监听器获取到手指的坐标,然后根据这个坐标开始绘制一个图片.(这里的绘制方式有些问题,所以凑合看看吧.) 首先,还是布局文件(两个ImageV ...