React Native/Flutter运行构建失败:Java堆空间不足问题求助
React Native构建报错:Java heap space(JetifyTransform失败)
已安装所有必要依赖,但运行React Native应用时持续报错,此前环境可正常工作,近期突然出现问题。尝试过调整堆内存大小、修改build.gradle文件等方案均无效,报错信息如下:
Picked up _JAVA_OPTIONS: -Xmx512M FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:checkDebugAarMetadata'. > Could not resolve all files for configuration ':app:debugRuntimeClasspath'. > Failed to transform react-android-0.72.3-debug.aar (com.facebook.react:react-android:0.72.3) to match attributes {artifactType=android-aar-metadata, com.android.build.api.attributes.BuildTypeAttr=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Execution failed for JetifyTransform: C:\\Users\\prave\\.gradle\\caches\\modules-2\\files-2.1\\com.facebook.react\\react-android\\0.72.3\\753dcb10579a06570819a980133bb5042d82a6a5\\react-android-0.72.3-debug.aar. > Java heap space > Failed to transform hermes-android-0.72.3-debug.aar (com.facebook.react:hermes-android:0.72.3) to match attributes {artifactType=android-aar-metadata, com.android.build.api.attributes.BuildTypeAttr=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Execution failed for JetifyTransform: C:\\Users\\prave\\.gradle\\caches\\modules-2\\files-2.1\\com.facebook.react\\hermes-android\\0.72.3\\f89c2cda86da7a97ffd78484839d880f8eccd3c9\\hermes-android-0.72.3-debug.aar. > Java heap space * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights.
解决方案
彻底清理Gradle缓存
手动删除C:\Users\prave\.gradle\caches目录,清空后重新执行构建命令,避免缓存损坏引发的转换失败。调整Gradle全局堆内存
在用户目录的.gradle文件夹中创建或修改gradle.properties文件,添加以下配置:org.gradle.jvmargs=-Xmx2048M -XX:MaxMetaspaceSize=512M这会覆盖系统的
_JAVA_OPTIONS限制,确保Gradle拥有足够的堆内存。移除系统环境变量限制
找到系统环境变量中的_JAVA_OPTIONS,删除-Xmx512M这个配置,它会强制限制Java进程的内存,导致Jetify转换时内存不足。禁用或指定Jetify黑名单
如果项目不需要依赖转换,在项目根目录的gradle.properties中添加:android.useJetifier=false或者只跳过出错的两个aar:
android.jetifier.blacklist=react-android-0.72.3-debug.aar,hermes-android-0.72.3-debug.aar强制刷新依赖
执行命令清理并重新下载依赖:./gradlew clean build --refresh-dependencies
内容的提问来源于stack exchange,提问作者webstar
相关产品推荐
相关产品推荐

