You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下Qt Android应用构建时Gradle依赖解析失败求助

解决Qt Android编译时Gradle依赖解析失败(trustAnchors异常)

问题核心原因

java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty 异常本质是JDK的证书信任库(cacerts)为空或损坏,导致Gradle无法验证Maven仓库的SSL证书,进而无法下载com.android.tools.build:gradle:3.6.3依赖。

具体解决步骤

1. 检查Qt使用的JDK证书库

Qt Creator默认自带OpenJDK,路径通常为C:\Qt\Tools\OpenJDK\jdk-8u252-windows-x64(版本可能略有不同):

  • 进入jre\lib\security目录,查看cacerts文件大小,如果文件为空(0KB)或极小,说明证书库损坏。

2. 修复证书信任库

  • 方案一:复制系统JDK的cacerts文件
    如果你系统中安装了Java 8(Gradle 3.6.3要求Java 8),找到系统JDK路径(比如C:\Program Files\Java\jdk1.8.0_xxx),将jre\lib\security\cacerts复制到Qt自带JDK的对应目录,覆盖原文件。
  • 方案二:重新导入根证书
    打开命令提示符,执行以下命令(替换路径为你的Qt JDK路径):
    keytool -importcert -alias globalroot -file "C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\Certificates\Root" -keystore "C:\Qt\Tools\OpenJDK\jdk-8u252-windows-x64\jre\lib\security\cacerts"
    
    输入默认密码changeit完成导入。

3. 强制Gradle使用系统JDK

  • 打开Qt Creator,进入工具 > 选项 > 构建和运行 > Android,将JDK路径改为系统安装的Java 8路径(比如C:\Program Files\Java\jdk1.8.0_xxx)。
  • 或者在项目的gradle.properties文件中添加:
    org.gradle.java.home=C:/Program Files/Java/jdk1.8.0_xxx
    

4. 优化Gradle仓库配置

修改项目根目录的build.gradle,替换为国内镜像仓库,避免证书和网络问题:

buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.3'
    }
}

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        mavenCentral()
    }
}

5. 清理Gradle缓存

  • 删除用户目录下的.gradle文件夹(路径:C:\Users\你的用户名\.gradle)。
  • 重启Qt Creator,重新编译项目,让Gradle重新下载依赖。

内容的提问来源于stack exchange,提问作者Alexander Zolkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 12:18:07