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?