发生这种情况时, 很有可能与证书无关,而是某个第三方类库获取不到了
我的解决方案,找到原版本的AAR文件放到工程的LIBs目录中,引用到工程中
unable to find valid certification path to requested target 最新解决方案(更新于2023-04-08)
置顶da_caoyuan已于 2023-04-08 11:40:21 修改38329 收藏 149 分类专栏: 【android】 文章标签: Android android studio flutter valid certification 版权 【android】专栏收录该内容 45 篇文章6 订阅 订阅专栏Android Studio , Flutter , IDEA 工程报错 unable to find valid certification path to requested target 最新解决方案
Android Studio工程
进入到我这篇博客之前,相信大家都看过这篇文章啦,彻底解决unable to find valid certification path to requested target 也相信大家都把里面的方法使了一遍,然而都没有解决这个让人头疼的问题。希望我提供的方法能让你不在头疼。
2021之后的 Android Studio
如果你的工程结构是这样的:
那么请在setting.gradle文件中这样添加阿里云的地址:
pluginManagement {
repositories {
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
google()
mavenCentral()
}
}
rootProject.name = "CompassDemo"
include ':app'
旧版Android Studio
第一步:
工程下的 build.gradle 添加阿里云的镜像地址:
buildscript {
......
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
google()
jcenter()
}
......
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
google()
jcenter()
}
}
ps:建议放到 google() 的前面。注意 build.gradle 文件下的2个 repositories 都要添加。
到这里来你在组建一下工程,看看是否还报这样的错误。
当你不在报错的时候,你尝试打一下 release 正式的包。可能你还会出现 unable to find valid certification path to requested target 这样的报错。这时:
第二步:
在你项目的build.gradle中 android 的闭包中添加如下代码:
lintOptions {
// true 所有正式版构建执行规则生成崩溃的lint检查,如果有崩溃问题将停止构建
checkReleaseBuilds false
//true 错误发生后停止构建
abortOnError false
}
最后再试试。希望能解决你的问题!
到这里如果你的项目还是报错的话,而且总是提示带有 valid certification… 关键词的错误。
大概意思就是你的证书是无效的。那么就尝试一下添加证书吧。这里我提供2个证书,供大家下载:去下载。下载的时候是不需要会员的,完全免费哦。如果提示你充会员,或者你没有C币的话,请加入下面的群聊,群文件里也有的。至于证书的如何添加,比较简单,我就不再多说了。
补充方案:
1. 把Android studio 自带的jdk更换为java的jdk。
2. 尝试多次同步工程。尝试多次同步工程。
如果你真的感觉比较麻烦,请加入下面的qq群,这里有我和更多的人来给你解决!
至于为什么会出现这样的问题,网上很多博客也都有说明,我也不再这里废话啦。
如果能解决你的问题,希望给点个赞啦,谢谢!
如果这样还不能解决你的问题,请加入qq群聊:1030290354 。这里会有更多的人给你提供解决方案。
Gradle 下载失败
由于网络原因,如果你的gradle下载失败后,Android studio就不会重新去下载啦,这个时候就需要你手动的添加了。根据你项目中的gradle版本号:
如上图所示,我这里是5.4.1的版本,大家可去这里下载,然后复制一份到这个路径下:
说明:C:\Users\P0164860.gradle\wrapper\dists 这个路径是你自己Android studio配置的gradle路径,由你自己的配置路径而定。
如果你不知道如何去下载,或者下载后复制过去还是不对。建议你还是加入上面的qq群聊:1030290354,私聊我,我会给你发完整的版本。
Flutter工程
android目录下的配置参考 Android studio中的配置,如图:
不过这里多提供2个镜像地址:
maven { url "https://storage.googleapis.com/download.flutter.io" }
maven { url 'http://download.flutter.io'}
ps:如果新建一个空的Flutter项目,能正常编译了,但是一旦引入第三方的依赖库,还是报同样的错误。那建议你这样处理:找到该库的下载到本地的位置,然后找到Android项目下的build.gradle文件的配置,做同样的修改即可。如果还不太明白怎么处理,可以加入上面的QQ群:1030290354。这里会有更多的人给你提供解决方案。
IDEA工程
在你的maven settings.xml 添加如下阿里云的镜像:
<mirrors>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!--备用 -->
<!-- <mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/spring/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/spring-plugin/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/snapshots/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>maven.net.cn</id>
<name>oneof the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
参考博客:
彻底解决unable to find valid certification path to requested target
最新解决方案:release打包出错unable to find valid certification path to requested target
da_caoyuan 关注 专栏目录 46 条评论 写评论 gradle-trust-all:一个用于禁用 SSL 证书验证的 gradle 插件 06-02 Gradle“信任所有”插件 这个插件的诞生是为了一种快速而肮脏的方式,通过带有自签名证书的 HTTPS 使用 Maven 存储库。 在 gradle 中使用这样的存储库时,您可能会收到错误消息: Error transferring file: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 处理这种情况的常用 Java 方法是下载站点证书,将其导入密钥库并通过-Djavax.net.ssl.trustStore=... JVM 选项使用该密钥库。 有时 springboot调用https接口unable to find valid certification path to requested target 最新发布 qq_35152003的博客 198 【代码】springboot调用https接口unable to find valid certification path to requested target。