Qt Creator 配置 Android 编译环境

Qt Creator 配置 Android 编译环境

环境

  • Qt Creator 版本 qtcreator-16.0.1
  • Win10
    嗯, Qt这个开发环境有点难折腾,搞了我三天...

配置流程

下载JDK

5.15.2 需要下载的jdk为JDK11

修改Qt Creator默认android配置文件

这里为什么要修改,是因为每个版本的Qt Creator中的sdk_definitions.json配置都不一致,但是我们Qt版本为5.15.2,且Qt Android 编译环境要求一致性比较高.

修改sdk_definitions.json配置

路径

复制代码
C:\Qt\qtcreator-16.0.1\share\qtcreator\android

原始内容

复制代码
{
    "common": {
        "sdk_tools_url": {
            "linux": "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip",
            "linux_sha256": "2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258",
            "windows": "https://dl.google.com/android/repository/commandlinetools-win-11076708_latest.zip",
            "windows_sha256": "4d6931209eebb1bfb7c7e8b240a6a3cb3ab24479ea294f3539429574b1eec862",
            "mac": "https://dl.google.com/android/repository/commandlinetools-mac-11076708_latest.zip",
            "mac_sha256": "7bc5c72ba0275c80a8f19684fb92793b83a6b5c94d4d179fc5988930282d7e64"
        },
        "sdk_essential_packages": {
            "default": ["platform-tools", "cmdline-tools;latest", "emulator"],
            "linux": [],
            "mac": [],
            "windows": ["extras;google;usb_driver"]
        }
    },
    "specific_qt_versions": [
        {
            "versions": ["6.4"],
            "sdk_essential_packages": ["build-tools;31.0.0", "ndk;23.1.7779620", "platforms;android-31"]
        },
        {
            "versions": ["6.3", "6.2", "5.15.[9-20]"],
            "sdk_essential_packages": ["build-tools;31.0.0", "ndk;22.1.7171670", "platforms;android-31"]
        },
        {
            "versions": ["5.15.[0-8]", "5.14.[0-2]", "5.13.2", "6.0", "6.1"],
            "sdk_essential_packages": ["build-tools;31.0.0", "ndk;21.3.6528147", "platforms;android-31"]
        },
        {
            "versions": ["5.12.[0-5]", "5.13.[0-1]"],
            "sdk_essential_packages": ["build-tools;28.0.2", "ndk;19.2.5345600", "platforms;android-28"]
        }
    ]
}

修改后的内容

复制代码
{
    "common": {
        "sdk_tools_url": {
            "linux": "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip",
            "linux_sha256": "2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258",
            "windows": "https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip",
            "windows_sha256": "8a90e6a3deb2fa13229b2e335efd07687dcc8a55a3c544da9f40b41404993e7d",
            "mac": "https://dl.google.com/android/repository/commandlinetools-mac-11076708_latest.zip",
            "mac_sha256": "7bc5c72ba0275c80a8f19684fb92793b83a6b5c94d4d179fc5988930282d7e64"
        },
        "sdk_essential_packages": {
            "default": ["platform-tools", "cmdline-tools;8.0", "emulator"],
            "linux": [],
            "mac": [],
            "windows": ["extras;google;usb_driver"]
        }
    },
    "specific_qt_versions": [
        {
            "versions": ["6.4"],
            "sdk_essential_packages": ["build-tools;31.0.0", "ndk;23.1.7779620", "platforms;android-31"]
        },
        {
            "versions": ["6.3", "6.2", "5.15.[9-20]"],
            "sdk_essential_packages": ["build-tools;31.0.0", "ndk;22.1.7171670", "platforms;android-31"]
        },
        {
            "versions": ["5.15.[0-8]", "5.14.[0-2]", "5.13.2", "6.0", "6.1"],
            "sdk_essential_packages": ["build-tools;31.0.0", "ndk;21.3.6528147", "platforms;android-31"]
        },
        {
            "versions": ["5.12.[0-5]", "5.13.[0-1]"],
            "sdk_essential_packages": ["build-tools;28.0.2", "ndk;19.2.5345600", "platforms;android-28"]
        }
    ]
}
修改的内容
复制代码
"windows": "https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip",
"windows_sha256": "8a90e6a3deb2fa13229b2e335efd07687dcc8a55a3c544da9f40b41404993e7d",
"default": ["platform-tools", "cmdline-tools;8.0", "emulator"]
"platforms;android-31":指示的是需要的Android  API 版本, 如果需要修改这里也要改成你需要的版本

以上修改是修改cmdline-tools版本,5.15.2需要配合8.0版本

Qt Creator配置

设置好jdk路径和SDK路径,注意SDK需要的是空文件夹,纯英文

点击设置SDK

然后全部点击 ,理论上讲就会自动下载对应的依赖.但是...

遇到上图所示,代表下载错误(此处我是搭梯子也好,还是重试也好,能成功完成下载的,都是纯属运气)

多试几次吧...,因为下载的依赖中都有个package.xml,我也不知道这个东西在哪里下载,或者配置.

这里检查下cmdline-tools版本 8.0

package.xml,这个文件必须存在且路径需要是:cmdline-tools\latest,否则即使下载成功,也会报错

成功以后是这样的

异常处理

删除提示占用

如果删除失败提示占用结束这个进程即可

编译报错

如果编译报错请检查一下参数,并改为图示版本

将gradle版本改为3.5.1

将build-tools版本改为31.0.0

这两个参数过高会导致编译报错

连接安卓机调试APP闪退

Qt Creator 16.0.1-14.0.2都闪退,建议降级到13.0.2,亲测有效

无法进入 debug 断点

最快的办法还是把QT Creator降级到9.0.2版本

相关推荐
wzg19690226wzg20 小时前
rust 学习 泛型
开发语言·学习·rust
techdashen20 小时前
Rust 基础设施团队 2025 Q4 回顾与 2026 Q1 计划
开发语言·后端·rust
红宝村村长20 小时前
torch.autograd.Function.apply()
开发语言·python
AI科技星20 小时前
《数术工坊:非欧射影录》类型:硬核光影·几何本源
c语言·开发语言·网络·量子计算·agi
何以解忧,唯有..20 小时前
Python 中的继承机制:从基础到高级用法详解
java·开发语言·python
杉氧20 小时前
Kotlin 协程深度解析④:架构实战——在 MVVM/MVI 中的进阶应用
android·kotlin
Ab_stupid20 小时前
CTF-Android培训笔记
android·笔记
绵绵细雨中的乡音20 小时前
监控显示一切正常,可用户根本打不开网站——Blackbox Exporter帮我找到了真相(1)
开发语言·php
c++之路20 小时前
CMake 系列教程(五):进阶技巧
c语言·开发语言·c++