Qt Creator 配置 Android 编译环境
Qt Creator 配置 Android 编译环境
- 环境
- 配置流程
- 下载JDK
- 修改Qt Creator默认android配置文件
- 修改sdk_definitions.json配置
- 修改的内容
- Qt Creator配置
- 异常处理
- 删除提示占用
- 编译报错
- 连接安卓机调试APP闪退
- 无法进入 debug 断点
环境
- 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版本
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。