一)Qt项目转换为AndroidStudio项目
1, 在QtCreater中新建一个项目,选择构建套餐时,勾选Pc 和android端进行构建
2,构建编译成功后,在工具栏中工具->选择->设备->Android 中勾选Use Gradle instead of Ant 这一项,然后重新编译项目
3,打开AndroidStudio,File->open 然后打开build-ucampus-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_2_for_Android_armv7-Release 中的android-build 项目文件
进入时选择使用AndroidStudio sdk进行编译 然后等待加载
4,加载成功后如果提示Gradle版本错误,单击提示更新到androidStudio中最新的Gradle即可,到此,项目就可以在Android中正常运行
注:在Qt5.8之前,如果想要项目正常编译,需要修改build.gradle中的把关于Qt安装目录的绝对路径进行删除后在编译,在Qt5.8之后,对项目结构进行了相关的调整,导致在AndroidStudio编译过后的项目中出现引用了两个绝对路径的本地文件 ,不便于项目的可移植性,如果想改变,则需要删除build.gradle中绝对路径地址,然后把 安装目录\5.8\android_armv7\src\android\java 中res,src文件夹拷贝到android项目目录中进行合并,即可正常编译通过。便于多人共同开发。
二)合并Qt与Android原生项目
1)在AndroidStudio中成功编译Qt项目并能正常运行
2)修改项目中build.gradle 文件中的apply plugin: 'com.android.application' 更改为apply plugin:'com.android,library',重新编译,此时Qt项目就变成一个library。
3)编译成功后,在Android原生项目中通过天假依赖包的方式进行添加编译成功的Qt项目库
4)通过正常的 过程就进行相关的调用Qt项目中的Activity
三)在android高版本上会报错找不到so文件
需要在build.grade文件中的defaultConfig 下添加
ndk {
abiFilters "armeabi-v7a"
}
否则无法加载QML的界面
网友评论