手动配置gradle详细教程 | Qt Creator在构建安卓应用时下载gradle 报错Connect timed out

手动配置gradle详细教程 | Qt Creator在构建安卓应用时下载gradle 报错Connect timed out

admin
7月31日发布
温馨提示:
本文最后更新于2025年07月31日,已超过89天没有更新,若内容或图片失效,请留言反馈。

本文详细介绍了Qt Creator在构建安卓应用时因网络问题导致Gradle下载超时(Connect timed out)的解决方案。通过分析报错信息,指出问题根源在于自动下载Gradle失败,并提供两种解决思路:优化网络环境或手动配置Gradle。文章重点讲解手动配置方法,包括从阿里云镜像站下载指定版本的Gradle、修改Qt Creator中的Gradle配置文件(如gradle.propertiesgradle-wrapper.properties),以及调整本地路径格式。最后,指导用户完成构建并定位生成的APK文件路径,帮助开发者高效绕过网络限制,顺利完成安卓应用构建。

报错核心内容

报错里面最主要的信息就是下面这两句话:

Downloading https://services.gradle.org/distributions/gradle-8.12-bin.zip

Exception in thread "main" java.io.IOException: Downloading from https://services.gradle.org/distributions/gradle-8.12-bin.zip failed: timeout (10000ms)
Caused by: java.net.SocketTimeoutException: Connect timed out

简而言之,问题是 在构建安卓 APK 的过程中,下载 Gradle 超时了

Qt 的构建系统尝试从 Gradle 官方网站下载 gradle-8.12-bin.zip 这个文件,但是在 10 秒钟(10000ms)内没有连接成功,导致了连接超时。这通常是由于网络环境访问国外网站速度慢或不稳定造成的。

解决问题就两条路:(1)网络换到稳定的外国去;(2)手动配置Gradle

手动配置Gradle教程

最直接和推荐的解决方法是 手动下载 Gradle 并配置到 Qt Creator 中。这样可以绕过构建过程中的自动下载步骤。

第一步:手动下载 Gradle

  1. 下载链接: 你需要下载日志中提示的完全相同的版本:gradle-8.12-bin.zip。 直接点击或复制此链接到浏览器下载: https://services.gradle.org/distributions/gradle-8.12-bin.zip
  2. 解压文件: 下载完成后,放到指定的目录,例如D:\Program\qtAndroid\gradle-8.12-bin.zip

gradle下载到本地

当然,上面这个地址你都time out了,使用国内的镜像站吧:

gradle安装包下载_开源镜像站-阿里云

然后选择合适自己的版本,例如我的版本是8.12。

阿里云镜像

第二步:Qt Creator 配置 Gradle路径

打开你的Qt安装目录,并找到这个目录:D:\Qt\6.9.1\android_x86_64\src\3rdparty\gradle

D:\Qt是我安装Qt的地址。

Gradle路径

修改 gradle.properties 文件

org.gradle.jvmargs=-Xmx2500m
改为 
org.gradle.jvmargs=-Xmx1024m

gradle.properties 文件

然后修改 gradle-wrapper.properties 配置文件。进入 gradle/weapper 目录下修改 gradle-wrapper.properties 配置文件。由于无法在线下载,需要将原来的下载地址改为安装包名称,然后手动下载并放在该目录下。

distributionUrl=file:///D:/Program/qtAndroid/gradle-8.12-bin.zip

注意,你需要把本地路径转换成标准的 file URI 格式。

  1. 使用 file:/file:/// 作为协议头
  2. 将所有的反斜杠 \ 替换为正斜杠 /

修改distributionUrl

然后再重新编译即可:

重新编译

构建的APK文件

文件夹结构示意图:

<你的项目构建目录>
└── android-build
    └── build
        └── outputs
            └── apk
                └── debug
                    └── app-debug.apk  <-- 就是这个文件!

详细的报错信息

D:\Qt\6.9.1\mingw_64\bin\qmake6.exe -install qinstall -exe libqmake_x86_64.so C:\Users\Administrator\Desktop\0qmake\build\Qt_6_9_1_Clang_x86_64-Debug\android-build\libs\x86_64\libqmake_x86_64.so
D:\Qt\6.9.1\mingw_64\bin\qmake6.exe -install qinstall -exe libqmake_x86_64.so C:\Users\Administrator\Desktop\0qmake\build\Qt_6_9_1_Clang_x86_64-Debug\android-build\libs\x86_64\libqmake_x86_64.so
18:43:58: The command "D:\Program\qtAndroid\android-ndk-r27d\prebuilt\windows-x86_64\bin\make.exe "INSTALL_ROOT=C:\Users\Administrator\Desktop\0qmake\build\Qt_6_9_1_Clang_x86_64-Debug\android-build" install && cd C:\Users\Administrator\Desktop\0qmake\build\Qt_6_9_1_Clang_x86_64-Debug && D:\Program\qtAndroid\android-ndk-r27d\prebuilt\windows-x86_64\bin\make.exe "INSTALL_ROOT=C:\Users\Administrator\Desktop\0qmake\build\Qt_6_9_1_Clang_x86_64-Debug\android-build" install" finished successfully.
18:43:58: 正在启动 "D:\Qt\6.9.1\mingw_64\bin\androiddeployqt.exe" --input C:/Users/Administrator/Desktop/0qmake/build/Qt_6_9_1_Clang_x86_64-Debug/android-qmake-deployment-settings.json --output C:/Users/Administrator/Desktop/0qmake/build/Qt_6_9_1_Clang_x86_64-Debug/android-build --android-platform android-35 --jdk D:/Program/Java/jdk-17 --gradle

Generating Android Package
  Input file: C:/Users/Administrator/Desktop/0qmake/build/Qt_6_9_1_Clang_x86_64-Debug/android-qmake-deployment-settings.json
  Output directory: C:/Users/Administrator/Desktop/0qmake/build/Qt_6_9_1_Clang_x86_64-Debug/android-build/
  Application binary: qmake
  Android build platform: android-35
  Install to device: No
Skipping createRCC
Downloading https://services.gradle.org/distributions/gradle-8.12-bin.zip

Exception in thread "main" java.io.IOException: Downloading from https://services.gradle.org/distributions/gradle-8.12-bin.zip failed: timeout (10000ms)
    at org.gradle.wrapper.Install.forceFetch(SourceFile:4)
    at org.gradle.wrapper.Install$1.call(SourceFile:8)
    at org.gradle.wrapper.GradleWrapperMain.main(SourceFile:67)
Caused by: java.net.SocketTimeoutException: Connect timed out
    at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:551)
    at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
    at java.base/java.net.Socket.connect(Socket.java:633)
    at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304)
    at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:534)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:639)
    at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266)
    at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1241)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1127)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect0(HttpURLConnection.java:2940)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2849)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1948)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1610)
    at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
    at org.gradle.wrapper.Install.forceFetch(SourceFile:2)
    ... 2 more
Building the android package failed!
  -- For more information, run this command with --verbose.
18:44:13: The command "D:\Qt\6.9.1\mingw_64\bin\androiddeployqt.exe --input C:/Users/Administrator/Desktop/0qmake/build/Qt_6_9_1_Clang_x86_64-Debug/android-qmake-deployment-settings.json --output C:/Users/Administrator/Desktop/0qmake/build/Qt_6_9_1_Clang_x86_64-Debug/android-build --android-platform android-35 --jdk D:/Program/Java/jdk-17 --gradle --gdbserver" terminated with exit code 14.
18:44:13: Error while building/deploying project qmake (kit: 安卓 Qt 6.9.1 Clang x86_64)
18:44:13: When executing step "构建安卓 APK"
18:44:13: Elapsed time: 00:15.
© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
上传图片
OωO
取消