在搭建环境时开始感觉还挺顺利的,从 Qt 配置的环境里面看并没有什么问题,可真正编译程序的时候发现全是错误。
最开始的时候安装了 JDK21 最新版本,然后根据 JDK21 安装 ndk, build-tools, Platform-Tools 和 Gradle,但是不管这么搞都会有编译错误。然后在换成 JDK20,依然不行,最后换到 JDK18 的时候终于可以了。
需要注意的是还需要搭配正确的 gradle 版本和 gradle 插件版本。
版本
- Qt5.15.2
- jdk-18.0.2.101-hotspot
- ndk-21.3.6528147
- gradle版本: gradle-7.5.1-bin.zip
- gradle插件版本: 7.4.2
Qt 配置 JDK
Qt 配置信息如图所示。
- 首先配置 JDK 环境,如果本地已经安装好,直接选择路径即可;没有安装 JDK 可以点击后面按钮进入下载页面下载。
- 配置 SDK 时选择一个空文件夹,然后点击 “Set Up SDK”,让 Qt 自动下载安装,这样操作更加简单。
- ssl 配置在步骤二中安装后会自动选择,也可以手动选择。
- 根据需要安装 build-tools 和 Platform-Tools 等工具。
Gradle 版本说明
- JDK 版本与 Gradle 版本对应:https://developer.android.google.cn/studio/releases/gradle-plugin?hl=zh-cn
- Gradle 下载链接:https://services.gradle.org/distributions/
- Gradle 版本与 Gradle 插件版本对应:https://developer.android.google.cn/studio/releases/gradle-plugin?hl=zh-cn
- android-build/build.gradle 文件中配置 Gradle 插件版本,如下
gradle:7.4.2
为 Gradle 插件版本。
dependencies {classpath 'com.android.tools.build:gradle:7.4.2'
}
- android-build/gradle/wrapper/gradle-wrapper.properties 文件中配置 Gradle 版本,同时需要注意,默认情况下将自动下载 Gradle 包,测试时无法下载,自己下载后放在 android-build/gradle/wrapper/ 即可。
distributionUrl=gradle-7.5.1-bin.zip
- 编译报错问题,错误信息如下,其解决方法是修改 android-build/gradle.properties 配置文件,将 JVM 原来的 2048 改为 1024。
FAILURE: Build failed with an exception.* What went wrong:
Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the User Manual chapter on the daemon at https://docs.gradle.org/7.5.1/userguide/gradle_daemon.html
Process command line: D:\software\Java\jdk-18.0.2.101-hotspot\bin\java.exe --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED --add-opens java.base/java.nio.charset=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED -Xmx2048m -Dfile.encoding=UTF-8 -Duser.country=CN -Duser.language=zh -Duser.variant -cp C:\Users\Administrator\.gradle\wrapper\dists\gradle-7.5.1-bin\ertkw1ldykftus49ntdszylsr\gradle-7.5.1\lib\gradle-launcher-7.5.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 7.5.1
Please read the following process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.* Get more help at https://help.gradle.org
Building the android package failed!-- For more information, run this command with --verbose.
11:33:40: 进程"D:\software\Qt\5.15.2\android\bin\androiddeployqt.exe"退出,退出代码 14 。
Error while building/deploying project Android3 (kit: Android Qt 5.15.2 Clang Multi-Abi)
When executing step "Build Android APK"
解决方法:
org.gradle.jvmargs=-Xmx1024m