Android工作室Gradle构建速度加快

Ein*_*ren 163 android android-studio

自上次更新(从6月25日开始构建)以来,Android Studio Gradle中的任何更改都非常缓慢.当您编辑文件并在keyup上重新编译时,它似乎也会自动跟踪更改.

我的i5每次更改都需要几分钟.

知道如何加快我的Gradle变化吗?

Fra*_*ois 99

绝对有所作为:如何...加快Gradle构建时间

只需创建一个gradle.properties在以下目录中命名的文件:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
Run Code Online (Sandbox Code Playgroud)

将此行添加到文件中:

org.gradle.daemon=true
Run Code Online (Sandbox Code Playgroud)

  • 从您的链接:"注意:这只会影响控制台构建.Android Studio始终使用Gradle守护程序(并根据您的设置进行一些其他优化)." (12认同)
  • 没有任何区别 (4认同)
  • 好答案.如需进一步详细阅读,请查看[this](http://stackoverflow.com/a/19500539/1276636)SO答案. (2认同)
  • 我有**.gradle**目录和**gradle.properties**文件.但还是要花很多时间.任何建议 (2认同)

Ran*_*mar 78

更改此设置后,我的编译时间减少到10秒.

步骤1:

设置(ctrl + Alt + S) - >

构建,执行,部署 - >

编译器 - >

--offline在命令行选项框中键入" ".

第2步:

选中"并行编译独立模块"复选框.

然后单击应用 - >确定

在此输入图像描述

第3步:在gradle.properties文件中 - >添加以下行

org.gradle.jvmargs=-Xmx2048M -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.daemon=true
Run Code Online (Sandbox Code Playgroud)

更新:

如果您使用的是Android Studio 2.0或更高版本,请尝试使用Instant Run

设置→构建,执行,部署→即时运行→启用即时运行.

有关Instant Run的更多信息 - https://developer.android.com/studio/run/index.html#instant-run

  • 我试过这个,它真的加快了我的构建速度.我知道该选项现在将导致它脱机构建,构建此脱机是否有任何缺点? (6认同)
  • @Simon - 缺点是您将无法下载build.gradle文件中标识的最新版本的依赖项.它运行得更快,因为它使用这些导入库的缓存快照.对于一些开发人员来说,稳定性是至关重要的,但是当他们最终上线并且那些依赖关系已经发展从而使所述项目落后时,过长时间离线可能会使他们失败. (5认同)
  • 它从 33 秒减少到 5 秒:)) (2认同)

Sam*_*Sam 62

通过将以下内容添加到android studio中的gradle.properties文件中,我能够将我的旧core2duo笔记本电脑(运行linux mint)从43秒减少到25秒

org.gradle.parallel=true
org.gradle.daemon=true
Run Code Online (Sandbox Code Playgroud)

关于为什么守护进程设置使构建更快的来源:https: //www.timroes.de/2013/09/12/speed-up-gradle/

  • 从您的链接:"注意:这只会影响控制台构建.Android Studio始终使用Gradle守护程序(并根据您的设置进行一些其他优化)." (3认同)
  • 并行选项没有改进我的构建. (3认同)
  • 即使在AS中,并行选项也改进了我的构建.谢谢 :) (2认同)

小智 42

开发人员正在努力.就像我在这个答案中发布的那样,现在最快的解决方案是从命令行使用gradle,你应该切换到你没有开发的所有模块的二进制库.在g +上,与开发人员讨论了它.


Bis*_*kar 12

遵循这些步骤将使其快10倍并缩短构建时间90%

首先在以下目录中创建名为gradle.properties的文件:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
Run Code Online (Sandbox Code Playgroud)

将此行添加到文件中:

org.gradle.daemon=true
org.gradle.parallel=true
Run Code Online (Sandbox Code Playgroud)

并在Android Studio中查看此选项

在此输入图像描述

在此输入图像描述


Ham*_*eem 7

有一个更新版本的gradle(版本2.4).

您可以通过从"文件"菜单中打开"项目结构"对话框为项目设置此项,

Project Structure -> Project -> Gradle version

并将其设置为"2.4".
您可以在此链接上阅读有关提升性能的更多信息.

  • 这使我的构建时间更长 (5认同)
  • 谢谢,Gradle 2.4版节省了差不多~14秒. (2认同)

San*_*ado 6

使用Android Studio 2.1,您可以启用"Dex In Process"以加快应用构建速度.

在此输入图像描述

您可以在此处获取有关它的更多信息:https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e#.vijksflyn


小智 6

这就是我所做的,我的gradle构建速度得到了显着改善!第一次构建时从1分钟到20秒,后续构建从40秒到5秒.

gradle.properties文件中添加:

org.gradle.jvmargs=-Xmx8192M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Run Code Online (Sandbox Code Playgroud)

命令行参数中,通过转到文件>其他设置>默认设置>构建,执行,部署>编译器,并将以下参数添加到命令行参数

添加这个:

--debug --stacktrace -a, --no-rebuild -q, --quiet --offline
Run Code Online (Sandbox Code Playgroud)

见图


Mr-*_*IDE 6

在进行Android开发时,尽量避免使用只有8 GB RAM的Mac/PC.一旦你启动甚至1个模拟器(Genymotion或其他),你的构建时间在带有gradle构建的Android Studio中变得非常慢.即使您对1个源文件进行简单的单行更改,也会发生这种情况.

关闭模拟器并使用真实设备有很大帮助,但当然这是非常有限的,而且不够灵活.减少仿真器的RAM使用率设置可能会有所帮助,但最好的方法是确保您的笔记本电脑至少具有12-16 GB的RAM.

更新(2017年6月):现在有几篇很好的medium.com文章解释了如何加快Android Studio gradle构建的速度,甚至可以在8 GB的机器上运行:

总结的共识是:

创建一个gradle.properties文件(全局~/.gradle/gradle.properties或项目本地),并添加以下行:

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
Run Code Online (Sandbox Code Playgroud)


Anu*_*ugh 5

dexOptions {
    incremental true
    javaMaxHeapSize "4g"
}
Run Code Online (Sandbox Code Playgroud)