React Native Android模拟器无法运行应用:gradle:2.3.0解析失败
解决React Native Android无法解析gradle:2.3.0的证书问题
这个报错本质是你的开发环境没法验证jcenter仓库的SSL证书,导致下载gradle依赖时卡壳了。我之前处理过好几个类似的情况,给你几个靠谱的解决方案:
方案1:升级Gradle插件版本(最推荐)
gradle:2.3.0是比较老旧的版本了,不仅证书可能有兼容性问题,还可能和新的React Native版本不匹配。建议升级到稳定的新版本:
- 打开项目根目录的
build.gradle文件,找到dependencies块里的classpath,把版本改成比如com.android.tools.build:gradle:4.2.2(这个版本适配大部分React Native 0.60+的项目) - 同时修改
gradle/wrapper/gradle-wrapper.properties里的distributionUrl,改成对应版本的gradle包:distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
方案2:切换到国内镜像仓库
如果是网络或证书验证的地域问题,换成国内的maven镜像(比如阿里云)能绕开这个问题:
- 在项目根目录的
build.gradle里,把repositories部分替换成:repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } google() mavenCentral() } - 同样,在
android/app/build.gradle文件的repositories块也做相同替换。
方案3:手动导入SSL证书(适合必须用原仓库的情况)
如果不想换镜像或升级版本,可以手动把jcenter的证书导入到Java信任库:
- 用浏览器打开报错里的pom文件地址,导出该网站的SSL证书(保存为
.cer格式) - 找到你本地JDK安装目录下的
jre/lib/security/cacerts文件(注意备份原文件) - 打开终端,执行导入命令:
默认的keystore密码是keytool -import -alias jcenter -keystore 你的JDK路径/jre/lib/security/cacerts -file 你的证书保存路径.cerchangeit,按提示确认导入即可。
最后一步:清理缓存重新构建
不管用哪个方案,做完修改后都要清理缓存再重新运行:
- 终端执行:
./gradlew clean(Windows系统用gradlew clean) - 然后重新启动项目:
npx react-native run-android
另外还要注意:检查Android Studio的SDK工具是否是最新版本,如果有代理设置,确认代理没有拦截SSL证书验证。
内容的提问来源于stack exchange,提问作者Saaksshi Tyagi
相关产品推荐
相关产品推荐

