本文详细介绍了Qt Creator在构建安卓应用时因网络问题导致Gradle下载超时(Connect timed out)的解决方案。通过分析报错信息,指出问题根源在于自动下载Gradle失败,并提供两种解决思路:优化网络环境或手动配置Gradle。文章重点讲解手动配置方法,包括从阿里云镜像站下载指定版本的Gradle、修改Qt Creator中的Gradle配置文件(如gradle.properties和gradle-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
- 下载链接: 你需要下载日志中提示的完全相同的版本:
gradle-8.12-bin.zip。 直接点击或复制此链接到浏览器下载:https://services.gradle.org/distributions/gradle-8.12-bin.zip - 解压文件: 下载完成后,放到指定的目录,例如
D:\Program\qtAndroid\gradle-8.12-bin.zip。

当然,上面这个地址你都time out了,使用国内的镜像站吧:
然后选择合适自己的版本,例如我的版本是8.12。

第二步:Qt Creator 配置 Gradle路径
打开你的Qt安装目录,并找到这个目录:D:\Qt\6.9.1\android_x86_64\src\3rdparty\gradle
D:\Qt是我安装Qt的地址。

修改 gradle.properties 文件
org.gradle.jvmargs=-Xmx2500m
改为
org.gradle.jvmargs=-Xmx1024m
然后修改 gradle-wrapper.properties 配置文件。进入 gradle/weapper 目录下修改 gradle-wrapper.properties 配置文件。由于无法在线下载,需要将原来的下载地址改为安装包名称,然后手动下载并放在该目录下。
distributionUrl=file:///D:/Program/qtAndroid/gradle-8.12-bin.zip注意,你需要把本地路径转换成标准的 file URI 格式。
- 使用
file:/或file:///作为协议头。 - 将所有的反斜杠
\替换为正斜杠/。

然后再重新编译即可:

构建的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.