You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

运行react-native run-android遇Gradle依赖404错误求助

嘿,这个问题我之前帮朋友抢救旧React Native项目时刚好碰到过!本质就是旧版本的Gradle插件已经被官方仓库下架了,导致拉取依赖时返回404。下面一步步给你说清楚怎么解决:

问题根源

你提到的这些依赖链接确实存在于项目的Gradle配置文件里,旧项目用的Gradle插件版本大概率已经被停止维护的jcenter()或者旧仓库地址移除了,所以才会返回404错误。

需要修改的文件及操作步骤

1. 先找对两个关键配置文件

  • 项目根目录下的build.gradle:注意不是app文件夹里的那个,是项目最外层的全局配置文件,负责管理仓库和插件依赖
  • app模块下的build.gradle:路径为/app/build.gradle,负责APP模块的具体依赖配置

2. 更新仓库源(优先处理)

打开根目录的build.gradle,找到buildscriptallprojects里的repositories块,把过时的jcenter()替换成mavenCentral(),同时确保包含谷歌官方仓库google(),示例如下:

buildscript {
    repositories {
        google()
        mavenCentral()
        // 删掉旧的jcenter(),它已经停止维护了
    }
    dependencies {
        // 这里的classpath就是你报错的Gradle插件依赖
        classpath 'com.android.tools.build:gradle:7.4.2' // 后面会说怎么选有效版本
        classpath "com.facebook.react:react-native-gradle-plugin:+"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url "$rootDir/../node_modules/react-native/android" }
        maven { url "$rootDir/../node_modules/jsc-android/dist" }
    }
}

3. 获取有效的Gradle插件版本

Gradle插件版本必须和你项目里的Gradle Wrapper版本匹配,不然会出现兼容问题:

  1. 先查看gradle/wrapper/gradle-wrapper.properties里的distributionUrl,比如:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip

这里的Gradle版本是7.5,对应的插件版本可以选7.4.x或者7.5.x(比如7.4.2、7.5.1都是兼容的)
2. 你也可以直接用Android Studio打开项目,它会自动检测并推荐适配的插件版本,跟着提示更新就行。

4. 同步并重新运行

修改完配置后,先在终端运行./gradlew clean(Windows系统用gradlew clean)清理旧缓存,然后再执行react-native run-android就能正常拉取依赖了。

额外小提示

如果还是报错,可能是项目里的第三方依赖也用了旧仓库,检查app/build.gradle里的dependencies块,把那些指向jcenter的依赖替换成mavenCentral或者其他仍在维护的仓库源。

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

火山引擎 最新活动