Manjaro Linux下配置Qt Android开发环境

Pre-Settings

安装Qt,勾选上Android相关的包

下载相关kits

  • JDK

    $ yay jdk                                                           # 列出的选项中选择一个jdk,参照官方文档选择openJDK
    $ archlinux-java status                                             # 查看系统默认的jdk
    $ sudo archlinux-java set [对应的jdk包名]                             # 若只有一个jdk,跳过这一步
    # 验证
    $ java -version
    $ javac -version
    # 可以自己编写一个java的HelloWorld来进一步验证
    
  • SDK

    Qt5.14好像还是不支持最新的sdk,所以下的一个旧版的,在StackOverflow找到一个旧版链接

  • NDK

    同样的,在Android Developer下载对应的NDK包

配置

  • JDK

    Qt Creator中:工具->选项->设备->Android

    JDK location中填入JDK的路径,例如我的:/usr/lib/jvm/java-8-openjdk

  • Android settings:

    • Pre-settings:

      在主目录下创建一个名为Android的文件夹(用来存储SDK,NDK包) ,将之前下载好的SDK、NDK解压后放入Android文件夹中

    • Settings:

      Qt Creator中:工具->选项->设备->Android

      在SDK、NDK路径两栏中分别填入对应包的路径,例如我的:

      SDK:/home/jaywhen/Android/sdk
      NDK:/home/jaywhen/Android/ndk
      

      完成后会提示缺少一些依赖,依照提示安装即可

遇到的问题

  • 新建Qt Quick项目后(使用Android kits),文件目录树上的文件除了.pro文件外全是灰色的,且编译不通过


    这个问题困扰了我很久(太菜了),网上几乎找便了也没找到解决方案,后来经过对比官方实例程序才明白

    原因

    出现这个问题可能是.pro文件的配置有问题,写入了不存在的模块

    例如,在我的案例中,我的Android模块库中,并没有virtualkeyboard这一模块,而我在新建项目的时候点击了Use Qt Virtual Keyboard这一选项(当然这一操作在你的模块库中有virtualkeyboard时是没问题的),导致无法编译。

    解决

    解决方法要么是安装对应的模块库,要么如果自己写的这个应用不需要用到虚拟键盘,那么在新建项目初期就不用勾选Use Qt Virtual Keyboard这一选项

  • Android deploy settings file not found, not building an APK.

    这个问题偶尔出现,可能是由于Qt for Android的配置文件不太稳定导致的

    原因

    不详

    解决

    打开的项目中,依次选择:项目->Build选中对应的编译器,将Enable Qt Quick Compiler取消勾选,等重构后再次勾选上,即可编译出apk

测试

参考

StackOverflow: How do I download the Android SDK without downloading Android Studio?

BiliBili: Qt开发android配置

原文地址:https://www.cnblogs.com/Jaywhen-xiang/p/12672449.html