首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android 3.0.1级构建pkix路径构建失败

Android 3.0.1级构建pkix路径构建失败
EN

Stack Overflow用户
提问于 2017-12-06 15:46:26
回答 6查看 23.1K关注 0票数 12

我在AndroidStudio3.0.1中创建了一个新项目,设置了公司的代理设置,并添加了自叹证书、unser服务器。当我尝试构建时,会列出以下错误,然后生成失败。

错误:

代码语言:javascript
运行
复制
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support:appcompat-v7:26.1.0.

Could not resolve com.android.support:appcompat-v7:26.1.0.
Required by:
    project :app
 > Could not resolve com.android.support:appcompat-v7:26.1.0.
    > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom'.
          > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom'.
                   > sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
                               > 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

有人能帮我吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-12-07 08:57:08

通过将我公司的自签名证书添加到Android的仙人掌文件中,解决了这个问题。仙人掌文件位于这里:C:\Program Files\Android\Android Studio\jre\jre\lib\security\cacerts

我还将http/https的代理详细信息添加到gradle.properties中。

票数 12
EN

Stack Overflow用户

发布于 2021-07-30 19:13:42

解决这个问题,因此转到堆栈跟踪,并查看堆栈跟踪first url,如本文所示

代码语言:javascript
运行
复制
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom

在浏览器中:但在此之前,从您的url中删除最后一个.pom/filename.extension

  • 在铬-点击网站的网址图标左(lock icon一般)的地址栏中,
  • 选择rootCertFile.cer.,选择"Certificate" -> "Certification Path"->,选择根节点,如"Corp-Prj-Root-CA"-> "View Certificate" -> "Details" -> "Copy to File...",并以"Der-encoded binary X.509(.CER)"单证书文件的格式保存,命名为"Corp-Prj-Root-CA"-> "View Certificate" -> "Details" -> "Copy to File..."
  • 现在您有了keystore文件,并且必须将它添加到JVM中。以确定cacerts文件的位置。C:\Program Files (x86)\Java\jre1.6.0_22\lib\security\cacerts
  • 或者检查Project settings中的android studio Java路径。

接下来,将rootCertFile.cer文件导入仙人掌

Solution1

在命令行中使用keytool (需要作为管理员命令提示符运行):

代码语言:javascript
运行
复制
keytool -import -alias example -keystore  "C:\Program Files (x86)\Java\jre1.6.0_22\lib\security\cacerts" -file rootCertFile.cer

默认情况下,您将被要求输入密码--它是changeit

Solution2

您可以使用keyExplorer软件运行作为管理员,并按android路径打开yourjavapath-> jre->lib->security-> cacerts文件,并且

  • 默认情况下,它将询问密码,它是changeit enter。
  • 单击"Import Trusted certificate"图标或从Tools选项,并提供上述保存的证书名的路径Tools
  • 然后,对于alias name,它会给取一个惟一的名称,然后按ok
  • 单击save icon
  • 还要确保代理设置(如果有来自公司的代理)依赖于证书,那么证书也需要以相同的方式添加
  • 我们已经完成了delete android studio caches directory,现在在您的项目中尝试gradle sync
票数 2
EN

Stack Overflow用户

发布于 2020-02-03 15:53:21

是的,我通过改变WiFi网络连接解决了这个问题。1.连接到其他或移动网络(使用热点)并重新连接到WiFi网络2.在膝上型计算机中重置wifi网络

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47678240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档