Android Studio Gradle Sync因公司代理而失败:无法找到有效的证书路径

时间:2018-06-19 14:04:16

标签: android maven gradle https proxy

我需要你的帮助。我必须在公司中制作一个Android应用程序,并且在运行和配置Android Studio时遇到一些问题。网络使用的是代理(来自Zscaler),我无法通过Gradle脚本同步项目。

管理员已向我提供了代理地址,并在检查连接设置时,成功完成了build.gradle脚本中2个下载域的连接。但这不适用于Gradle同步。

以下错误: 对于build.gradle具有正常情况:

        

在maven块上使用http:无法获取(从jcenter二进制文件,带有   http)

     

找不到有效的认证路径。

我也从公司手动导入了证书,但是不起作用。 您可以查看图像来显示我尝试过的配置,但是它不起作用。

图像链接在这里:

  1. https://ibb.co/bJxT9d
  2. https://ibb.co/e7wMUd
  3. https://ibb.co/inro9d
  4. https://ibb.co/gic6vJ
  5. https://ibb.co/eS04hy
  6. https://ibb.co/bOfLNy

请帮助我,这非常重要。我不能实现目标。

2 个答案:

答案 0 :(得分:1)

您需要将公司代理证书注入尝试下载文件的Java的cacerts密钥库中。这可能是Android Studio随附的OpenJDK版本,也可能是操作系统正在使用的版本。

Keytool位于/ jre / bin

“证书”文件位于/ jre / lib / security

运行以下

keytool -importcert -file <path to cert> -keystore <path to cacerts>
-alias <anything>

系统将提示您输入密码,默认为“ changeit”

然后将询问您是否信任证书,键入是。

答案 1 :(得分:0)

带有keytool的官方解决方案(至少需要执行3行): 在命令行(cmd,终端)上,打开目录/ jre / bin,输入命令: keytool -import -alias <alias> -file <certificate_path .crt or .cer> -keystore ../jre/lib/security/cacerts

每个Java部件(JRE)必须具有使用keytool添加的证书(Java,Android Studio等),必须执行以下两行: keytool -import -alias <alias> -keystore <path_to>\system\tasks\cacerts -file <certificate_path .crt or .cer>

keytool -importkeystore -srckeystore <path_to>\system\tasks\cacerts -destkeystore "<path_to>\Java\<jre_path_name>\lib\security\cacerts"

之后重新启动系统。

我记得来源:http://andreyaleev.com/2018/01/14/setup-proxy-in-android-studio/