运行 gradlew assembleRelease 时出现内存不足错误 - react-native

Out of memory error while running gradlew assembleRelease - react-native

我在为我的 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
    

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

正在配置 gradle.properties:

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

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

在项目的 gradle 属性中首次评论 org.gradle.jvmargs=-Xmx4096m

在您的 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