You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Android构建失败 配置RNFirst项目遇依赖问题

React Native Android构建失败:依赖解析失败与Java版本不兼容

错误详情

FAILURE: Build failed with an exception.

问题原因: 配置根项目'RNFirst'时出现错误。

无法确定null的依赖关系。无法解析配置':classpath'的所有任务依赖项。

找不到com.android.tools.build:gradle:。被以下项目依赖:project :
无法解析com.facebook.react:react-native-gradle-plugin。被以下项目依赖:project :
未找到与项目:gradle-plugin匹配的变体。消费者配置为寻找运行时使用的库,兼容Java 8,打包为jar,依赖项外部声明,且属性'org.gradle.plugin.api-version'值为'8.0.1',但:

  • 变体'apielements'的能力com.facebook.react:react-native-gradle-plugin:unspecified声明了一个库,打包为jar,依赖项外部声明:
    • 不兼容,因为该组件声明为编译时使用,兼容Java 11,而消费者需要运行时使用、兼容Java 8的组件
    • 其他兼容属性:未提及org.gradle.plugin.api-version(要求为'8.0.1')
  • 变体'mainSourceElements'的能力com.facebook.react:react-native-gradle-plugin:unspecified声明了一个组件,依赖项外部声明:
    • 不兼容,因为该组件属于'验证'类别,而消费者需要库
    • 其他兼容属性:未提及目标Java版本(要求兼容Java 8)、未提及元素打包方式(要求为jar)、未提及org.gradle.plugin.api-version(要求为'8.0.1')、未提及使用场景(要求运行时)
  • 变体'runtimeElements'的能力com.facebook.react:react-native-gradle-plugin:unspecified声明了一个运行时使用的库,打包为jar,依赖项外部声明:
    • 不兼容,因为该组件兼容Java 11,而消费者需要兼容Java 8的组件
    • 其他兼容属性:未提及org.gradle.plugin.api-version(要求为'8.0.1')
  • 变体'testResultsElementsForTest'的能力com.facebook.react:react-native-gradle-plugin:unspecified:
    • 不兼容,因为该组件属于'验证'类别,而消费者需要库
    • 其他兼容属性:未提及依赖查找方式(要求依赖项外部声明)、未提及目标Java版本(要求兼容Java 8)、未提及元素打包方式(要求为jar)、未提及org.gradle.plugin.api-version(要求为'8.0.1')、未提及使用场景(要求运行时)

官方建议:
使用--stacktrace选项获取堆栈跟踪。使用--info或--debug选项获取更多日志输出。使用--scan选项获取完整分析信息。

修复方案

1. 补全gradle插件版本号

报错中找不到com.android.tools.build:gradle:表明gradle插件版本号未指定,需在项目根目录的build.gradle(或build.gradle.kts)文件中,为com.android.tools.build:gradle添加与React Native版本匹配的版本号:

buildscript {
    dependencies {
        // 替换为与你的RN版本兼容的gradle插件版本,如RN 0.71+对应7.4.2
        classpath("com.android.tools.build:gradle:7.4.2")
        // 确保react-native-gradle-plugin版本与RN版本一致
        classpath("com.facebook.react:react-native-gradle-plugin:0.71.8")
    }
}

2. 升级Java版本至11

react-native-gradle-plugin要求Java 11环境,而当前项目使用Java 8,需修改配置统一版本:

  • 在项目根目录的gradle.properties中指定JDK 11路径:
    org.gradle.java.home=/path/to/your/jdk11
    
  • 在android/build.gradle中设置编译Java版本:
    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
        }
    }
    
  • 确保本地已安装JDK 11,并正确配置JAVA_HOME环境变量。

3. 匹配gradle wrapper版本

gradle插件版本需与gradle wrapper版本兼容,比如gradle插件7.4.2对应gradle wrapper 7.5版本,修改gradle/wrapper/gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip

4. 清理缓存并重新构建

执行以下命令清理gradle缓存,解决依赖缓存冲突:

./gradlew clean
./gradlew build --refresh-dependencies

内容的提问来源于stack exchange,提问作者Spyraxz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 19:50:12