繁体   English   中英

下载Android SDK Build Tools 19.1时,trustAnchors参数必须为非空错误

[英]the trustAnchors parameter must be non-empty error while downloading Android SDK Build Tools 19.1

我刚刚将Android Studio升级到1.0RC4。 我的一个Android项目使用了较旧的buildToolVersion因此Android Studio建议我升级到19.1.0但是从Android Studio下载该版本时,出现以下错误:

Loading SDK information...
Refresh Sources:
  Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-2.xml, reason: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
  Fetched Add-ons List successfully
  Refresh Sources
  Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-10.xml, reason: SSL java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Refresh Sources:
  Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-10.xml, reason: SSL java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
There is nothing to install or update.

我在Google和SO上看到了几个相关的问题,但是都没有与Android Studio相关的问题,也没有适合我的解决方案。

以下是有关我的环境的更多信息

File -> Project Structure
   Android SDK Location: /Applications/Android Studio.app/sdk
   JDK Location: /Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home

$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    1.8.0_25, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
    1.7.0_07, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home
    1.6.0_35-b10-428, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_35-b10-428.jdk/Contents/Home
    1.6.0_35-b10-428, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_35-b10-428.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

我尝试过的解决方案:

cd $(/usr/libexec/java_home -v 1.7)/jre/lib/security   
ln -fsh /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts

完成上述操作后,我重新启动了Android Studio,但同样的问题仍然存在。

我有同样的错误,最后通过执行以下步骤(在linux上)解决了这个问题:

您需要找到Java正在使用的密钥库,然后导入您要访问的网站的base64证书:

例如在ubuntu上,所有Java证书都在/ etc / ssl / certs / java / cacerts中 ,默认密码为“ changeit”。

导入证书,我必须以这种方式使用keytool:

keytool -importcert -trustcacerts -alias myalias-文件path_to_cert_file -keystore / etc / ssl / certs / java / cacerts

并在询问时使用changeit作为密码; 我不知道Java密钥库(通常称为cacerts)在OsX上的位置。 当然,您还需要从浏览器导出https://dl-ssl.google.com证书。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM