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
相关产品推荐
相关产品推荐

