React Native运行npm run-android构建失败 react-native-screens依赖报错
解决方案
核心报错原因是Gradle拉取谷歌Maven仓库依赖时,SSL证书校验不通过,可按以下步骤逐一尝试:
方案1:替换国内Maven镜像(最优先推荐)
修改项目android/build.gradle文件中的仓库配置,替换官方仓库为阿里云镜像:
修改完成后清除构建缓存再重试:allprojects { repositories { // 新增阿里云镜像,放在最前面优先加载 maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/public' } // 原有官方仓库可以保留,作为 fallback google() mavenCentral() } }cd android && ./gradlew clean cd .. && npm run android方案2:导入站点证书到JDK信任库(适用公司内网自签证书场景)
如果处于公司内网环境,网络代理会替换站点SSL证书,需要手动将证书导入JDK信任库:- 浏览器访问
https://dl.google.com,导出站点的根证书为PEM格式 - 执行命令导入到JDK的cacerts信任库(替换
你的证书路径、你的JDK安装路径为实际路径):
信任库默认密码为keytool -import -alias googlemaven -file 你的证书路径 -keystore 你的JDK安装路径/jre/lib/security/cacertschangeit,导入完成后重启终端重试构建。- 浏览器访问
方案3:临时关闭Gradle SSL校验(仅临时调试用,不推荐长期使用)
在项目android/gradle.properties文件中添加以下配置,跳过SSL证书校验:systemProp.javax.net.ssl.trustStore=NONE systemProp.javax.net.ssl.trustStoreType=JKS systemProp.javax.net.ssl.disableSNI=true方案4:清理全局Gradle代理配置
检查用户目录下的.gradle/gradle.properties文件,确认是否有遗留的http/https代理配置,如果有则删除后重试。方案5:适配react-native-screens版本
若以上方案都无效,可检查当前react-native-screens版本是否与项目Gradle版本匹配,尝试升级或降级包版本后重新安装依赖重试。
内容的提问来源于stack exchange,提问作者Ruchira Swarnapriya
相关产品推荐
相关产品推荐

