Gradle构建失败,显示内存溢出:Java堆空间错误。

25

运行应用程序时,我遇到了Gradle构建错误。我使用的是Windows 10操作系统,8GB内存,Android Studio版本为4.0.1。

内存不足:Java堆空间。请在项目的gradle.properties文件中为Gradle分配更多内存。例如,在gradle.properties文件中添加以下行可将最大Java堆大小设置为1024 MB:org.gradle.jvmargs=-Xmx1024m

即使按照相同步骤执行,我仍然无法运行该应用程序。是否有人能够提供此错误的永久解决方案?

这是我的gradle.properties文件:

android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1024m

你能告诉我你用的是哪个操作系统?(Windows/Mac...)你有多少GB的RAM?请分享你的项目gradle.properties。 - Thuan Tang
我已经编辑了我的问题。 - Kartika Vij
看一下这个 https://dev59.com/aFkS5IYBdhLWcg3ws4gk - sajjad
4个回答

21
  1. 为gradle分配更多的RAM:org.gradle.jvmargs=-Xmx4g
  2. 如果您在运行几次后遇到相同的问题,则打开任务管理器,终止任何一个Open JDK Platform binaryJava(TM) Se Binary以释放内存,然后再运行项目。

如果您的计算机RAM小于8GB,请在您的gradle.properties文件中设置如下:org.gradle.jvmargs=-Xmx2048M


8

我在我的"react": "17.0.2","react-native": "0.66.1"项目中遇到了相同的问题。
前往project/android/gradlew.properties
并取消注释此行
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

仅更改冒号(:)之前的代码
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX
org.gradle.jvmargs=-Xmx3g -XX:MaxPermSize=512m -XX

然后保存并运行您的构建。


2

我正在处理一个大型的安卓项目,其中包含多个模块和口味,在这个过程中遇到了同样的问题。

我尝试了很多方法,从调整内存到清理项目,重启并无效缓存,删除源代码并重新克隆仓库等等。

最终,我删除了我的用户文件夹中的".gradle"文件夹,并重新克隆了我的项目...它奏效了。虽然在这个过程中浪费了很多时间。


-1

AndroidManifest.xml中添加android:largeHeap="true"可以解决您的问题,如果您还没有添加。但请注意,主要问题是您的应用程序消耗了过多的内存。考虑在运行时跟踪您的应用程序以查找异常的内存消耗进程/对象。

<manifest 
     ...
     <application 
         android:largeHeap="true"
         ...

     </application>
</manifest>

我已经添加了,它曾经工作过,但当我尝试再次运行时出现了相同的错误。 - Kartika Vij
可能会有很多原因导致“OutOfMemoryException”异常。例如:ListView、太多的活动Fragment、加载高质量图片等。因此,请尝试找出代码中消耗内存的对象。 - sajjad
3
这是一个应用程序的问题,当用户构建项目时出现错误消息。您可以使用该应用程序进行构建。 - Thuan Tang
1
是的,如果我无法运行我的应用程序,那我怎么能弄清楚任何事情呢? - Kartika Vij

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接