Qt 5.13 Android开发初探

平台

Ubuntu 20.04 + QT5.13 + Qt Creator 4.10.1
Qt 5.13 Android开发初探_第1张图片

安装QT

QT官网

  1. 注册个帐户吧, 后续安装会用到
  2. Install Qt 5 on Ubuntu
  3. 下载离线安装包可用版本
  4. 安装(qt-opensource-linux-x64-5.13.2.run) 改权限, 直接运行.
  5. 参考文档: 在Ubuntu下搭建Qt开发环境和Qt creator
  6. Tools > Options > Devices > Android 配置Android SDK 和 NDK
  • 装完后, 从主界面的DEMO中选了一个ImageViewer, 在Ubuntu上编译运行, 正常正确, 感觉一切来得如此简单.

开发Android问题

Qt 5.13 Android开发初探_第2张图片

有两个条件不满足:
Android NDK directory structure is correct
Android NDK installed into a path without spaces

NDK的路径选择的是与AndroidStudio一样的, 并且这个版本的NDK也是可用的(版本: 22.0.6917172)

刚开始, 选择忽略了上面的问题, 强行编译后出现以下features.h头文件找不到
尝试搜索问题的答案, 结果一无所获, 参阅过文章:
Missing library #include #688
Qt 5.14 New Installation ~ Error
Custom kit (self-compiled Qt 5.9) : features.h not found

于是, 不得不回过头来解决NDK的问题, 既然这个版本检测不能用, 那用哪个版本就成了问题的关键,
很快有了答案Qt for Android - Building from Source
其中有提及到Android NDK r18
不受支持的 NDK 下载
android-ndk-r18b-linux-x86_64.zip
下载解压配置, clean 后重编, 成功.

一些杂项

  • 在主界面左侧的主功能键中Projects
    • 可以设置编译目标, 如Desktop, Android等, 点击可添加, 已有的可通过右键 Disable掉
    • 最好设置Build directory 免得有时找不到文件
      在Android的编译过程中, 目录结构如下:

      ll work/build/android-build
      drwxrwxr-x 8 anson anson 4096 2月 28 22:00 ./
      drwxrwxr-x 3 anson anson 4096 2月 28 22:00 …/
      -rw-r–r-- 1 anson anson 6604 2月 28 22:00 AndroidManifest.xml
      drwxrwxr-x 3 anson anson 4096 2月 28 22:00 assets/
      drwxrwxr-x 6 anson anson 4096 2月 28 21:59 build/
      -rw-r–r-- 1 anson anson 1891 2月 28 21:58 build.gradle
      drwxrwxr-x 5 anson anson 4096 2月 28 21:59 .gradle/
      drwxrwxr-x 3 anson anson 4096 2月 28 21:16 gradle/
      -rw-rw-r-- 1 anson anson 147 2月 28 22:00 gradle.properties
      -rw-rw-r-- 1 anson anson 147 2月 28 21:59 gradle.properties~
      -rwxr-xr-x 1 anson anson 5296 2月 28 21:16 gradlew*
      -rw-r–r-- 1 anson anson 2176 2月 28 21:16 gradlew.bat
      drwxrwxr-x 3 anson anson 4096 2月 28 22:00 libs/
      -rw-rw-r-- 1 anson anson 32 2月 28 22:00 local.properties
      -rw-rw-r-- 1 anson anson 32 2月 28 21:59 local.properties~
      drwxrwxr-x 3 anson anson 4096 2月 28 21:16 res/

你可能感兴趣的:(android,Linux,Qt,NDK)