You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

升级Android Studio 3.1后项目编译失败,Gradle同步遇SSL证书错误求助

解决Android Studio 3.1升级后Gradle同步SSL握手错误

这个错误本质是Gradle访问远程仓库(比如Google Maven、JCenter)时,服务器的SSL证书没被你的JDK信任库识别——不用自己创建证书,只要把对应仓库的证书导入JDK信任库就行,具体步骤如下:

1. 导出目标仓库的SSL证书

比如如果是访问Google Maven仓库出问题,打开浏览器访问https://dl.google.com/dl/android/maven2/

  • 点击地址栏左侧的锁形图标 → 选择「证书」
  • 切换到「详细信息」标签页 → 点击「复制到文件」
  • 选择「DER编码二进制格式(.CER)」,将证书保存到本地(比如命名为google_maven.cer

2. 找到Android Studio使用的JDK路径

打开Android Studio:

  • 顶部菜单选择「File」→「Project Structure」→「SDK Location」
  • 找到「JDK Location」的路径,示例路径:
    • Mac: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
    • Windows: C:\Program Files\Android\Android Studio\jre\jdk

3. 使用keytool导入证书到信任库

打开终端(Mac/Linux)或命令提示符(Windows):

  1. 进入JDK的bin目录,比如Mac下执行:
    cd /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin
    
  2. 执行导入命令(替换证书路径为你刚才保存的实际路径):
    keytool -import -alias google_maven -keystore ../lib/security/cacerts -file /Users/yourname/Downloads/google_maven.cer
    
    • 输入信任库默认密码:changeit
    • 提示是否信任此证书时,输入y确认

4. 重启Android Studio并重新同步Gradle

关闭Android Studio后重新打开,点击「Sync Project with Gradle Files」按钮,应该就能正常同步了。

临时替代方案(不推荐,不安全)

如果暂时不想导入证书,可以修改项目根目录的build.gradle,把HTTPS仓库换成HTTP:

repositories {
    // 替换google()为下面的HTTP地址
    maven { url 'http://dl.google.com/dl/android/maven2/' }
    maven { url 'http://jcenter.bintray.com/' }
}

但这种方式会让你的项目传输数据时失去SSL加密保护,只适合临时测试用。

内容的提问来源于stack exchange,提问作者Ajit Sharma

火山引擎 最新活动