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

Windows环境下React Native Android项目启动遇SSL证书错误求助

解决React Native run-android时的PKIX证书错误

这个错误是Gradle下载依赖时无法验证目标服务器的SSL证书,导致SSL握手失败,下面是具体解决步骤:

1. 确认使用Android Studio自带的JDK

React Native官方推荐使用Android Studio内置的JDK,避免第三方JDK的证书问题:

  • 找到Android Studio安装路径下的JRE目录,通常是C:\Program Files\Android\Android Studio\jre
  • 设置系统环境变量JAVA_HOME指向该路径,同时将%JAVA_HOME%\bin添加到Path环境变量中
  • 打开命令提示符,执行java -version,确认输出的是Android Studio自带的JDK版本

2. 手动导入缺失的证书到Java信任库

如果是特定服务器的证书未被信任,可手动导入证书:

  • 打开浏览器访问Gradle报错的目标域名(比如maven.google.com),点击地址栏的锁图标 → 查看证书 → 详细信息 → 复制到文件,选择**Base64编码的X.509(.CER)**格式,保存为cert.cer
  • 找到Java信任库位置:%JAVA_HOME%\lib\security\cacerts(默认密码为changeit)
  • 打开命令提示符,进入%JAVA_HOME%\bin目录,执行以下命令导入证书:
    keytool -import -alias customcert -keystore "../lib/security/cacerts" -file "C:\你的证书路径\cert.cer"
    
  • 输入密码changeit,确认导入即可

3. 临时禁用Gradle SSL验证(仅测试用)

如果只是临时解决问题,可在项目根目录的gradle.properties中添加以下配置:

org.gradle.jvmargs=-Djavax.net.ssl.trustStore=../android/app/debug.keystore -Djavax.net.ssl.trustStorePassword=android -Djavax.net.ssl.trustStoreType=JKS

⚠️ 注意:此方法不安全,仅用于临时测试,正式环境不建议使用

4. 检查代理设置

如果你的网络使用了代理,可能会干扰SSL证书验证:

  • 尝试关闭代理后重新运行npx react-native run-android
  • 如果必须使用代理,在gradle.properties中添加代理配置(替换为你的代理信息):
    systemProp.http.proxyHost=proxy.example.com
    systemProp.http.proxyPort=8080
    systemProp.https.proxyHost=proxy.example.com
    systemProp.https.proxyPort=8080
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:52:37