执行gradlew assembleRelease时发生错误-react-native

问题描述 投票:0回答:5

我在为我的 React Native 项目进行发布构建时遇到此错误:

Expiring Daemon because JVM heap space is exhausted
    
> Task :app:transformDexArchiveWithDexMergerForRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformDexArchiveWithDexMergerForRelease'.
> java.lang.OutOfMemoryError (no error message)

做了一些研究并做了一些更改,如下:

  1. 在 AndroidManifest.xml 中的应用程序标记中添加了

    android:largeHeap="true"

  2. 已添加

    dexOptions {
        javaMaxHeapSize "4g" 
    }
    

    在 android/app/build.gradle 文件中。

  3. 将以下代码添加到gradle.properties

    org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
    org.gradle.daemon=true
    org.gradle.parallel=true
    org.gradle.configureondemand=true
    

我仍然无法摆脱这个错误。有什么永久的方法可以消除这个错误,它是如何引起的??

java out-of-memory react-native
5个回答
164
投票

配置gradle.properties:

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true

10
投票

虽然给出的答案对我不起作用,但它确实引导我走上了正确的道路。有时构建会完成,但一段时间后此错误又会重新出现,因此要一劳永逸地解决它:

第一个评论

org.gradle.jvmargs=-Xmx4096m
在项目的 gradle 属性中。

在您的 app/build.gradle 中添加以下内容:

android {

  dexOptions {
    javaMaxHeapSize "4g"
  }

}

现在编辑 mac 的全局 gradle.properties 它将位于 Home/YOUR_USERNAME/.gradle/ 内 请注意,.gradle 是一个隐藏文件夹。

如果该文件不存在,只需创建它并添加

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

4
投票

这对我有用!

在 android/gradle.properties 中取消注释此行

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

信用@Alex Aymkin


3
投票

在 android/gradle.properties 中添加此代码对我有用!

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true

0
投票

我已经在 gradle.properties 中有以下行:

org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=512m

将 512m 值更改为 4g 解决了我的问题。

OutOfMemoryError

    

© www.soinside.com 2019 - 2024. All rights reserved.