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

React Native 0.72.8安卓构建依赖解析失败求助(iOS正常)

安卓构建依赖解析失败解决方案(RN 0.72.8 + M1)

核心问题定位

报错本质是依赖版本冲突:第三方库使用com.facebook.react:react-native:+的模糊版本要求,与项目锁定的RN 0.72.8版本不兼容,同时gradle依赖解析时无法正确找到react-android、hermes-android的对应版本。


分步解决步骤

1. 强制统一RN依赖版本

在android/build.gradle的allprojects块中添加版本强制策略,让所有第三方依赖使用项目指定的RN 0.72.8版本:

allprojects {
    repositories {
        // 保持原有仓库配置...
    }

    // 添加以下配置
    configurations.all {
        resolutionStrategy {
            force "com.facebook.react:react-native:0.72.8"
            force "com.facebook.react:react-android:0.72.8"
            force "com.facebook.react:hermes-android:0.72.8"
        }
    }
}

2. 修正gradle仓库配置

确保android/build.gradle的allprojects.repositories包含RN本地依赖仓库,避免远程仓库版本缺失:

allprojects {
    repositories {
        mavenCentral()
        google()
        // RN本地依赖仓库
        maven { url("$rootDir/../node_modules/react-native/android") }
        maven { url("$rootDir/../node_modules/jsc-android/dist") }
        // 其他第三方仓库(如jitpack等)...
    }
}

3. 清理缓存并重新安装依赖

执行以下命令彻底清理缓存,避免残留的旧依赖干扰:

# 清理node_modules和锁文件
rm -rf node_modules package-lock.json yarn.lock
npm install

# 清理安卓构建缓存
cd android && ./gradlew clean
cd ..

M1设备若仍有架构兼容问题,可尝试用Rosetta执行gradle命令:arch -x86_64 ./gradlew clean

4. 检查依赖树并修复冲突

运行命令查看RN依赖树,找出强制使用其他RN版本的第三方库:

npm ls react-native

针对冲突的第三方库,要么升级到兼容RN 0.72.8的版本,要么降级到适配的旧版本。

5. 验证gradle与环境配置

  • 确认android/gradle/wrapper/gradle-wrapper.properties中的gradle版本与RN 0.72.8兼容(推荐gradle 7.5):
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
    
  • 检查环境变量:JAVA_HOME指向OpenJDK 17,ANDROID_HOME指向正确的Android SDK路径,可通过以下命令验证:
    echo $JAVA_HOME
    echo $ANDROID_HOME
    

6. 确认Hermes配置(若启用)

如果项目使用Hermes,确保android/app/build.gradle和settings.gradle配置正确:

  • 在android/app/build.gradle中启用Hermes:
    project.ext.react = [
        enableHermes: true
    ]
    // ...
    dependencies {
        implementation project(':react-native-hermes')
        // ...
    }
    
  • 在settings.gradle中添加Hermes模块:
    include ':react-native-hermes'
    project(':react-native-hermes').projectDir = new File(rootProject.projectDir, '../node_modules/react-native/hermes-engine/android')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 14:09:50