Android studio Gradle构建加速
自从上次更新(从6月25日开始构建)以来,Android studio Gradle的任何更改都非常缓慢。当您编辑文件并在keyup上重新编译时,它似乎也会自动跟踪更改 在i5上每次更改都需要几分钟Android studio Gradle构建加速,android,android-studio,Android,Android Studio,自从上次更新(从6月25日开始构建)以来,Android studio Gradle的任何更改都非常缓慢。当您编辑文件并在keyup上重新编译时,它似乎也会自动跟踪更改 在i5上每次更改都需要几分钟 你知道如何加快我的渐变吗?开发人员正在研究。正如我在文章中提到的,现在最快的解决方案是从命令行使用gradle,对于所有未开发的模块,都应该切换到二进制libs。在g+上,开发者对它有一个共同的看法。肯定会有所不同: 只需在以下目录中创建一个名为gradle.properties的文件: /home
你知道如何加快我的渐变吗?开发人员正在研究。正如我在文章中提到的,现在最快的解决方案是从命令行使用gradle,对于所有未开发的模块,都应该切换到二进制libs。在g+上,开发者对它有一个共同的看法。肯定会有所不同: 只需在以下目录中创建一个名为
gradle.properties
的文件:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
通过在android studio中的gradle.properties文件中添加以下内容,我可以在旧的core2duo笔记本电脑(运行linux mint)上将gradle构建时间从43秒减少到25秒
org.gradle.parallel=true
org.gradle.daemon=true
有关守护进程设置加快生成速度的原因的来源:
有一个较新版本的gradle(2.4版) 通过从“文件”菜单中打开“项目结构”对话框,可以为项目设置此选项
Project Structure->Project->Gradle version
并将其设置为“2.4”。您可以在上阅读有关提高性能的更多信息。更改此设置后,我的编译时间从10分钟缩短为10秒 第1步: 设置(ctrl+Alt+S)-> 构建、执行、部署-> 编译器-> 在命令行选项框中键入“
--offline
”
第二步:
选中“并行编译独立模块”复选框
&单击应用->确定
步骤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
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx2048M
更新:
如果您使用的是Android studio 2.0或更高版本,请尝试即时运行
背景→ 构建、执行、部署→ 快跑→ 启用即时
跑
有关即时跑步的更多信息-
Gradle.properties
org.gradle.parallel=true
分步指南:您也可以使用命令行以获得更好的性能。您可以从linux项目的根文件夹中使用命令./gradlew
,或者使用gradlew.bat文件,如gradlew
。当您第一次为给定的Gradle版本运行上述命令之一时,它将下载相应的Gradle发行版并使用它执行构建。
当通过包装器导入Gradle项目时,IDE可能会要求使用Gradle“all”发行版。这非常好,可以帮助IDE为构建文件提供代码完成。
这不仅意味着您不必自己手动安装Gradle,而且您还可以确保使用构建所针对的Gradle版本。这使您的历史构建更加可靠。
有关更多信息,请参阅添加
build.gradle
文件:
android {
...
dexOptions {
javaMaxHeapSize "4g" //specify the heap size for the dex process
}
...
}
我希望它能有所帮助。遵循这些步骤将使其速度提高10倍,并将构建时间减少90%
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
首先在以下目录中创建名为gradle.properties的文件:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
并在Android Studio中检查此选项
使用Android Studio 2.1,您可以启用“进程中的索引”以更快地构建应用程序
您可以在此处获得有关它的更多信息:要更快地构建,请将Gradle守护程序的最大堆大小增加到2048 MB以上
要在项目中设置
org.gradle.jvmargs=-Xmx2048M
gradle.properties这就是我所做的,我的gradle构建速度大大提高了!第一次构建从1分钟到20秒,后续构建从40秒到5秒 在gradle.properties文件中 添加以下内容:
org.gradle.jvmargs=-Xmx8192M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
在命令行参数中通过转到文件>其他设置>默认设置>生成、执行、部署>编译器,并将以下参数添加到命令行参数中
添加以下内容:
--debug --stacktrace -a, --no-rebuild -q, --quiet --offline
在进行Android开发时,尽量避免使用只有8GB内存的Mac/PC。只要您启动1个emulator(Genymotion或其他),您的构建时间就会在带有gradle构建的Android Studio中变得极其缓慢。即使对一个源文件进行简单的单行更改,也会发生这种情况 关闭仿真器并使用真实设备会有很大帮助,但这当然是非常有限的,灵活性也较差。减少emulator的RAM使用设置会有所帮助,但最好的方法是确保您的笔记本电脑至少有12-16 GB的RAM 更新(2017年6月):现在有几篇优秀的media.com文章详细解释了如何加速Android Studio gradle的构建,它甚至可以在8GB的机器上运行:
- 如何将渐变构建时间减少65%:
- 让你的Gradle再次快速构建:
~/.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
根据维基媒体应用程序的安卓团队的说法,优化Gradle构建的一个好方法是将这行代码添加到你的~/.Gradle/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
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx2048M
对于没有该文件的用户,有两种方法:
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
//Uncomment below line for providing your system specific configuration
#org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -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
//Uncomment below line to allow parallel process execution.
#org.gradle.parallel=true