React Native Android项目Gradle构建:app:checkDebugAarMetadata任务失败求助
React Native Android构建失败:废弃Gradle特性与Cannot snapshot outputDirectory问题解决
一、修复Gradle版本兼容问题
- 降级Gradle到React Native兼容版本:修改项目根目录
gradle/wrapper/gradle-wrapper.properties中的distributionUrl,替换为当前RN版本推荐的Gradle版本(比如RN 0.73+建议使用https\://services.gradle.org/distributions/gradle-8.7-all.zip) - 同步Android Gradle Plugin(AGP)版本:在项目根目录的
build.gradle(或build.gradle.kts)中,将com.android.tools.build:gradle版本调整为与Gradle匹配的兼容版(例如Gradle 8.7对应AGP 8.3) - 替换废弃构建配置:检查Gradle同步时的警告信息,将过时的配置替换为当前标准,比如把
compile替换为implementation,testCompile替换为testImplementation,移除已废弃的插件或API调用
二、解决Cannot snapshot outputDirectory报错
- 修正outputDirectory配置方式:如果
app/build.gradle中存在直接修改outputDirectory的代码(如variant.outputs.all { output -> output.outputDirectory = ... }),改用Gradle推荐的方式。例如仅修改输出文件名用output.outputFileName = "app-${variant.name}.apk",或通过layout.buildDirectory指定路径,避免直接修改outputDirectory属性 - 清理构建缓存:执行命令
./gradlew clean,然后删除项目根目录下的.gradle文件夹以及用户目录(如~/.gradle)中的缓存,再重新同步构建 - 排查第三方依赖冲突:运行
./gradlew app:dependencies查看依赖树,定位不兼容高版本Gradle的旧依赖,升级或替换为兼容版本的依赖库
内容的提问来源于stack exchange,提问作者Davis Lapkin
相关产品推荐
相关产品推荐

