新建React Native项目无法安装到设备,Gradle依赖下载报PKIX路径错误
问题根因
核心报错是PKIX path building failed,本质是Java运行环境无法验证Google Maven仓库的SSL证书,导致无法下载com.android.tools.build:gradle:3.5.3依赖,构建中断。旧项目能正常运行是因为依赖已经缓存在本地,不需要重新下载。
解决方案
方案1:替换国内Gradle镜像(最优先,90%以上场景可解决)
修改项目下android/build.gradle文件,将repositories块的原有Google、jcenter源替换为阿里云镜像:
buildscript { repositories { // 注释掉原有国外源 // google() // jcenter() // 新增阿里云镜像 maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/public' } } dependencies { classpath("com.android.tools.build:gradle:3.5.3") } } allprojects { repositories { // 同样替换这里的源 // google() // jcenter() maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/public' } } }
修改完成后执行清除缓存命令重新构建:
cd android ./gradlew clean cd .. npx react-native run-android
方案2:排查网络代理/抓包工具影响
如果当前设备开启了代理、VPN或者Fiddler/Charles等抓包工具,会篡改SSL证书导致Java校验失败:
- 临时关闭所有代理、抓包工具后重试构建
- 如果是公司强制代理场景,将代理的根证书导入当前使用的JDK信任库即可
方案3:替换JDK版本
如果使用的是自行安装的低版本JDK,信任库缺失根证书会导致校验失败:
- 切换为Android Studio自带的JDK环境,该环境默认适配Android构建所需的所有证书
- 升级自行安装的JDK到8u301以上的稳定版本
方案4:临时禁用SSL校验(仅测试用,不建议长期使用)
如果只是临时调试,可以在构建命令中添加参数跳过SSL校验:
./gradlew app:installDebug -PreactNativeDevServerPort=8081 -Djavax.net.ssl.trustStore=/dev/null -Djavax.net.ssl.trustStorePassword=changeit
内容的提问来源于stack exchange,提问作者Bhaskar Kherkatary
相关产品推荐
相关产品推荐

