如何增加gradle守护程序的最大堆大小?

Nul*_*ion 3 android gradle android-gradle-plugin

登录apk时,收到以下消息:

To run dex in process, the Gradle daemon needs a larger heap.
It currently has 1024 MB.
For faster builds, increase the maximum heap size for the Gradle daemon to at least 4608 MB (based on the dexOptions.javaMaxHeapSize = 4g).
To do this set org.gradle.jvmargs=-Xmx4608M in the project gradle.properties.
For more information see https://docs.gradle.org/current/userguide/build_environment.html
Run Code Online (Sandbox Code Playgroud)

在我的项目中,我没有gradle.properties文件,但是有一个名为gradle-wrapper.properties的文件。

我打开该文件并添加了一行 org.gradle.jvmargs=-Xmx4608M

在那之后,我尝试再次对apk进行签名,但是我仍然收到增加gradle堆大小的消息。

如何实现呢?

谢谢

Laz*_*ana 13

我知道您说您的项目没有,gradle.properties但您可以创建一个全局项目C:\Users\user\.gradle并添加:

 org.gradle.jvmargs=-Xmx4096M
Run Code Online (Sandbox Code Playgroud)

并记住运行gradle --stop以杀死任何以前的守护进程。


小智 12

您可以尝试以下任一方法

1)更改 gradle.properties 文件并根据您的要求更改堆大小。

如果org.gradle.jvmargs=-Xmx2048M不够,则更改为给定的4096

org.gradle.jvmargs=-Xmx4096M 在此输入图像描述

2) 从帮助菜单中选择“编辑自定义虚拟机选项”。

它将打开 studio.vmoptions / studio64.exe.vmoptions 文件 在此输入图像描述

将内容更改为

-Xms128米

-Xmx4096米

-XX:MaxPermSize=1024m

-XX:ReservedCodeCacheSize=200m

-XX:+UseCompressedOops

保存文件并重新启动 Android Studio。


Pan*_*dra 5

如果没有gradle.properties,则转到项目文件夹,您将在其中找到gradle文件,然后在其中创建一个文本文件并将其命名为gradle.properties并删除.txt,然后将以下代码添加至该文件。

# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx4096m

# 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
Run Code Online (Sandbox Code Playgroud)

并保存,然后在Android Studio中打开您的项目,然后单击立即同步。

希望它能解决您的问题,如果不能解决,请告诉我。


Sam*_*att -2

将以下代码添加到您的 build.gradle 文件中。

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

参考资料:来源

  • @SamirBhatt 实际上这个问题是重复的。你应该在评论中给出可能的链接。避免回答此类重复问题。 (3认同)
  • @VishvaDave 我添加了源链接。检查一下。有这么多问题具有相同的代码,并不意味着代码被复制。甚至几乎所有开发人员在所有应用程序开发中都使用此代码片段来解决命中大小问题。 (2认同)