React Native开发:解决Gradle下载卡在0%的终极方案
前言
在React Native开发中,Android环境的配置一直是新手开发者的"拦路虎"。其中Gradle下载问题尤为突出,经常出现卡在0%不动的情况。本文将深入分析问题原因,并提供多种解决方案,帮你彻底解决这个痛点。
问题现象
当执行npx react-native run-android
命令时,控制台输出类似以下内容后便停滞不前:
Downloading https://services.gradle.org/distributions/gradle-8.13-bin.zip
........... 0%
原因分析
- 网络连接问题:Gradle官方服务器位于国外,国内直接访问速度极慢
- 代理配置不当:开发环境可能使用了不正确的代理设置
- 缓存机制问题:Gradle的下载重试机制不够智能
解决方案
方案一:使用国内镜像加速(推荐)
这是最彻底的解决方案,通过修改项目配置完全避开国外源:
- 打开项目中的
android/build.gradle
文件 - 替换repositories配置为阿里云镜像:
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
}
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
mavenLocal()
mavenCentral()
}
}
方案二:手动安装Gradle
当镜像方案仍不奏效时,可以尝试手动安装:
- 访问Gradle官方仓库下载对应版本
- 找到本地缓存目录:
- Windows:
C:\Users\[用户名]\.gradle\wrapper\dists\gradle-8.13-bin\[随机哈希]
- Mac/Linux:
~/.gradle/wrapper/dists/gradle-8.13-bin/[随机哈希]
- Windows:
- 将下载的zip文件放入目录(不要解压)
方案三:配置全局Gradle镜像
在~/.gradle/init.gradle
中添加:
allprojects {
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public'
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
}
}
maven { url ALIYUN_REPOSITORY_URL }
}
}
验证方案
成功配置后,重新运行命令应该能看到类似输出:
Downloading https://maven.aliyun.com/.../gradle-8.13-bin.zip
........... 100%
注意事项
- 不同React Native版本需要不同Gradle版本,请确认你的项目要求的Gradle版本
- 修改build.gradle后建议删除android/.gradle目录重新构建
- 如果使用VPN,可以尝试关闭后重试
Gradle下载问题看似简单,实则涉及网络、缓存、配置等多个环节。如果仍有问题,欢迎在评论区留言讨论。
相关资源: