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版本

相关推荐
mmsx13 分钟前
Android 地图上绘制 KML:解析、样式与渲染
android·xml
Quz20 分钟前
QML TabBar 标签栏交互效果合集
qt·动画·qml
运行时异常24 分钟前
【无标题】
android
ydjs678899-bot26 分钟前
您的Next.js中间件匹配器配置可能会跳过您认为它保护的路由
开发语言·javascript·中间件
Chengbei1134 分钟前
JsOwl|AI 赋能 JS 敏感信息扫描器,AST + 正则、source‑map 源码还原、登录态爬虫输出交互式 HTML 报告
开发语言·javascript·网络·人工智能·爬虫·网络安全·自动化
David猪大卫36 分钟前
【C++修炼】string类:string类的模拟实现
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
geovindu39 分钟前
rust: Iterator Pattern
开发语言·后端·设计模式·rust·行为模式·迭代器模
右手吉他1 小时前
高通平台IA APN问题分析之一
android·物联网
SDWAN_Cheap1 小时前
深度解析什么是CDN加速:从原理到实践的技术拆解
开发语言·cdn加速
鬼手点金1 小时前
模型即 Agent:当模型本身成为产品
开发语言·前端·人工智能·python·机器学习