Qt安卓教程(2):移植Qt到安卓
Qt安卓教程(2):移植Qt到安卓该文章原创于Qter开源社区(www.qter.org),作者Joey_Chan,转载请注明出处!
本系列教程主要讲述与安卓移植版Qt的相关内容,如平台特性、功能限制、特定用户体验和内容发布等,其余与Qt自身非平台相关的内容不会作详细讲述,笔者默认童鞋们已经有一定的Qt功底。
另:请自备安卓机子一台,不推荐用模拟器。
第二篇:移植Qt到安卓
1. 直接移植Qt自带的例子
首先打开安装Qt的目录,再进入desktop版Qt的库目录(我这个因为是Linux所以显示的是gcc版,win的应该显示mingw或vs2010),找到examples文件夹——quick文件夹——demo文件夹——samegame文件夹;
这时可以先把samegame.qmlproject这个文件拖进creator里面试试看效果,一个简单小游戏,而且支持两人一起玩;
现在开始移植工作;
建立一个Qt安卓项目(QT QUICK 2),先不要改任何代码,试试看能不能在手机上运行,不知道怎么运行的请看第一篇;
回到刚才的samegame文件夹,把samegame.qml 、setting.js和content文件夹复制到刚刚建立的新项目的qml文件夹内,这时文件夹内应该有这么几个文件:
现在进入main.cpp文件,把第九行的main.qml改成samegame.qml,保存;
然后进入.pro文件,添加一行: QT += quick multimedia sql , 保存后编译;
去到 项目————运行————包配置,点“从应用程序读取信息”,然后确保sql模块被选中;
(此步骤可选)其实现在就能运行程序了,运行前可以尝试修改android的配置文件,在 其它文件————android————AndroidManifest.xml,打开这个文件,会出现一个配置窗口,而不是xml编辑窗口,这个配置窗口可以修改包的名字,程序名字,图标和权限,这里建议不要修改“run”的文字,不然可能会出现找不到可执行文件的情况;
点左下角的运行按钮,手机上运行起来了。
以上步骤可用于纯qml程序的移植,其它情况另作讨论。
2. 移植widget类程序
很多童鞋说不会用qml,那么在安卓上用c++ widget行不?那当然是可以的,笔者表示不推荐,官方也不推荐,原因很多,主要是widget不适合触摸屏,而且默认不使用opengl加速,导致程序效率不高。下面我示范简单运行一个widget程序在安卓上。
新建一个项目,选择Qt Gui程序(笔者只有很少几个widget写的程序,而且都比较大,不适合移植到安卓,这里只示范一个新的widget项目)
记得选择安卓的套件;
在designer中加入几个widget;
编译,然后去 项目————运行————包配置里面确认运行库,保证widget库被选上;(Qt5中widget被独立出来了,可能有一些还在用Qt4的童鞋不知道)
这时可以运行了,效果如下,笔者表示挺丑的。。。
笔者智商捉急,也只能写到这种程度了,嫌我不够水平的童鞋请忽略我。。
沙发,我来支持下~~ 鼎力支持楼主,widget也可以移植到安卓,真是一个好消息。 Syylc120317 发表于 2013-8-26 14:09 static/image/common/back.gif
鼎力支持楼主,widget也可以移植到安卓,真是一个好消息。
如果习惯了widget又不怎么会qml的还是可以弄一弄的 支持一下 会出通过JNI调用android api的教程吗 saqirltu 发表于 2013-8-26 16:26 static/image/common/back.gif
支持一下 会出通过JNI调用android api的教程吗
应该会的,我正在和一个搞安卓的朋友学习如何用JNI 移植成功,顶下,期待下一回合:lol 同样移植成功,呵{:soso_e100:}
同样期待通过JNI调用android api的教程 效果不错,谢谢楼主的分享。 这个再不顶起来实在对不起楼主了:D miracle2xx 发表于 2013-8-30 22:22 static/image/common/back.gif
这个再不顶起来实在对不起楼主了
没事,我自己就是管理员,顶不顶都一样,好好:P Joey_Chan 发表于 2013-8-30 22:37 static/image/common/back.gif
没事,我自己就是管理员,顶不顶都一样,好好
哈哈那也必须得顶。以后真真儿的在这个论坛扎根了。 miracle2xx 发表于 2013-8-31 10:08 static/image/common/back.gif
哈哈那也必须得顶。以后真真儿的在这个论坛扎根了。
顺便多带些好基友过来哈:lol Joey_Chan 发表于 2013-8-31 15:38 static/image/common/back.gif
顺便多带些好基友过来哈
必须尽量哈哈身边用QT的不多正在给他们推广中 谢谢!!向楼主学习。。。。。。。。。。。。。。。。。。。 楼主使用的是什么版本的Qt Creator? 我的怎么和您的不一样?没有包设置 更好 发表于 2013-9-4 08:22 static/image/common/back.gif
楼主使用的是什么版本的Qt Creator? 我的怎么和您的不一样?没有包设置
我的是2.8.0 ,文章开头有写 謝謝分享,坐等下篇。:D 好东西,哪天我去找个机子来试试 作者用的是什么操作系统呢,我一直在win7上面做的,能不能告诉我你的操作系统的全称,我对linux没怎么用过