• Qt for Android 开发环境


    在搭建环境时开始感觉还挺顺利的,从 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 配置信息如图所示。

    1. 首先配置 JDK 环境,如果本地已经安装好,直接选择路径即可;没有安装 JDK 可以点击后面按钮进入下载页面下载。
    2. 配置 SDK 时选择一个空文件夹,然后点击 “Set Up SDK”,让 Qt 自动下载安装,这样操作更加简单。
    3. ssl 配置在步骤二中安装后会自动选择,也可以手动选择。
    4. 根据需要安装 build-tools 和 Platform-Tools 等工具。

    Gradle 版本说明

    1. JDK 版本与 Gradle 版本对应:https://developer.android.google.cn/studio/releases/gradle-plugin?hl=zh-cn
    2. Gradle 下载链接:https://services.gradle.org/distributions/
    3. Gradle 版本与 Gradle 插件版本对应:https://developer.android.google.cn/studio/releases/gradle-plugin?hl=zh-cn
    4. android-build/build.gradle 文件中配置 Gradle 插件版本,如下 gradle:7.4.2 为 Gradle 插件版本。
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
    }
    
    • 1
    • 2
    • 3
    1. android-build/gradle/wrapper/gradle-wrapper.properties 文件中配置 Gradle 版本,同时需要注意,默认情况下将自动下载 Gradle 包,测试时无法下载,自己下载后放在 android-build/gradle/wrapper/ 即可。
    distributionUrl=gradle-7.5.1-bin.zip
    
    • 1
    1. 编译报错问题,错误信息如下,其解决方法是修改 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"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    解决方法:

    org.gradle.jvmargs=-Xmx1024m
    
    • 1
  • 相关阅读:
    FDMA 3.1 米联客的Axi-DDR3控制器及其配套的Dbuf
    学习react的getSnapshotBeforeUpdate和其他生命周期
    迅为LS2K0500开发板动态电源管理龙芯自主指令架构
    什么是Java中的设计模式?请列举几种常见的设计模式
    目标检测YOLO实战应用案例100讲-基于YOLOv5的目标检测与6D位姿估计算法研究(中)
    高新技术企业的10个涉税问题提醒
    【uniapp基础篇】上传图片
    6-2 分治法求解金块问题
    解决warning: this statement may fall through [-Wimplicit-fallthrough=]
    力扣:1175. 质数排列
  • 原文地址:https://blog.csdn.net/ALONE_WORK/article/details/137773618