Windows环境React Native安卓构建失败::app:checkDebugAarMetadata任务报错
问题场景
Windows环境下运行React Native 0.71.0-rc.0安卓项目时,CLI抛出以下错误:
任务
:app:checkDebugAarMetadata执行失败,无法解析:app:debugRuntimeClasspath的所有文件,转换react-native-0.71.0-rc.0-debug.aar时JetifyTransform执行失败,提示Java堆空间不足
已尝试升级SDK版本(配置buildToolsVersion = "30.0.3"、minSdkVersion = 29)及在build.gradle中强制指定androidx.work:work-runtime:2.6.0,问题仍未解决。
有效解决方案
1. 增大Gradle JVM堆内存分配
在项目根目录的gradle.properties文件中,修改或添加以下配置,直接提升Jetify过程可用的堆内存:
org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Xmx4096m表示最大堆内存设为4G,若机器内存充足,可调整为6G(-Xmx6144m)或8G(-Xmx8192m)- 保存配置后执行
gradlew clean,再重新运行构建命令
2. 禁用Jetify(需确认无非AndroidX依赖)
若项目所有第三方依赖已完全迁移到AndroidX,可直接关闭Jetify转换,避免不必要的内存消耗:
在gradle.properties中修改:
android.enableJetifier=false
注意:若存在未迁移到AndroidX的旧版依赖,禁用Jetify会引发兼容性错误,需先排查所有依赖的AndroidX适配情况。
3. 清理Gradle缓存
Windows系统中Gradle缓存默认路径为C:\Users\<你的用户名>\.gradle\caches,手动删除该目录下的所有文件,再重新执行构建,避免缓存损坏导致的异常。
4. 升级Gradle及插件版本
在项目根目录的**项目级build.gradle**中,升级Android Gradle插件版本:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 适配RN 0.71的稳定版本 } }
同时修改gradle/wrapper/gradle-wrapper.properties中的Gradle发行版:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
更高版本的Gradle对内存管理和Jetify流程有优化,可有效缓解堆空间不足问题。
内容的提问来源于stack exchange,提问作者farooq

