升级Android 2024.1.1 Studio后 报gradle build error: PKIX path building failed解决方法

升级Android studio后, 构建项目时一直报错显示:

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Unable to find valid certification path to requested target

这是由于 你所使用的网络提供商、或你组织的网络部门 不信任、屏蔽了某个下载URL的根证书,使得你下不了东西。

A. 小试设置

于是我猜,可能是因为引用了http导致的报错,找了一下build.gradle,

allprojects {
    repositories {
        jcenter() { url "https://maven.aliyun.com/repository/jcenter" }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
        maven { url "https://jitpack.io" }
        mavenCentral()
        mavenLocal()
    }
}

用的旧版阿里云仓库地址,有些是http的。但也不太对,如果是http证书的问题,应该不会连累https呀。所以问题原因一定还是出在AS设置身上

于是广搜AS settings,于是找到了这条:

在Android studio中找到File->Tools->Server Certificates,将自动接收不受信任的证书即可

先在Build->clean project,清理一下项目

然后到File->Invalidate Caches清空缓存重启AS,但是仍然报错

B. 修改云镜像

如果通过修改镜像云的方式可以奏效吗?

1. 如果重启AS后,仍然出现此问题,建议使用阿里云镜像将build.gradle内的buildscriptallprojects都替换为阿里云镜像:

        maven { url 'https://www.jitpack.io' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }

2. 如果上面方法仍然不奏效,建议clean project或手动删除项目的build文件

3. 切换一个网络再试

以上步骤均不成功

C. 添加证书

如果按部就班,通过下载对应证书可以奏效吗?

1. 按证书下载配置

STEP 1:jcenter() 实际地址是: Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog,复制到浏览器访问它,点击(Chorme)地址栏最左边有一个小按钮:

选择“证书” -> “详细信息” -> “保存到文件”

STEP 2: Android Studio中,菜单栏 File ->Setting ->Tools->Server Certificates 点击 Accept certificates 附近的"+" 选择并上传你的证书,File-> Invalidate Caches/Restart 重启AS之后再同步一下试试看。

配置后发现根本没有用

D. 冷门偏方

如果通过冷门偏方,删除去掉一些东西可以奏效吗?

1. 删除.gradle,使其重新下载;不成功

2. 修改gradle-wrapper.properties, 使其变为本地引用或内网服务器引用;不成功

E. 修改配置数据

如果修改build.gradle的配置方式:

所有统一改成这个样式    
jcenter() {
        url "http://jcenter.bintray.com"
    }

最终解决方案

问题起因是:你所使用的网络提供商、或你组织的网络部门 不信任、屏蔽了某个下载URL的根证书

那么问题一定是跟你的网络有关。经过再次比对处理发现,是因为我们公司网络安全做了一系列操作把我们自己给防住了。

解决方案那么就显而易见了:

1. 自己开手机热点给电脑使用,绕过公司的网络检查机制。下载完缓存后再连回公司网络

2. 如果公司内网有相应的maven库可供下载,则优先使用公司内网推荐地址

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值