Qt 文档中对Android 应用程序的开发流程已经有比较详细的叙述,这里结合自己 
的实际操作稍作补充。 
  
1 软件准备 
  
Android SDK :Android 标准开发工具和库 
Android NDK :允许开发者使用C/C++开发应用程序 
Apache Ant :基于Java的构建管理工具 
JDK :Java开发环境(包含运行时环境JRE) 
Qt :预编译好的交叉编译环境 
ADB :可用于调试的“手机驱动程序”,可选 
  
  
其中Android SDK 在 http://developer.android.com/sdk/ 下载,网页会自动识别当前host操作系统的类型并重定向到相应的包;Android NDK 在http://developer.android.com/tools/sdk/ndk/ 下载,需要手动选择对应host操作系统的类型。Apache Ant 在 
http://ant.apache.org/bindownload.cgi 下载,只需要下载binary包即可,它不区分host平台。 
  
以上三样都不需要安装,直接解压缩并记住路径的位置。 
  
JDK 需要在Oracle 的官方网站得到,我下载的版本是jdk7u25,这个版本在安装的时候需要独立指定JRE和JDK的位置。需要指向同一个位置,或者安装后将JRE覆盖JDK,当提示文件冲突时忽略。否则Apache Ant不能正常工作。最后新建环境变量JAVA_HOME,指到JDK的路径。 
  
Qt 在http://qt-project.org/downloads 获取,选择 Qt 5.9.2 for  
Android (Windows 32-bit, 716 MB)  它已经自带Mingw。安装的时候要选择ARMv7包 
  
ADB 根据自己手机的平台型号获取。我的手机是MTK6589 平台的,在root过程中使用到了相应的驱动程序。连接USB线然后选择开启USB调试。如果没有ADB则可以使用SDK自带的Android 模拟器开发,然后把生成的apk拷进手机里安装。这样就比较麻烦了,所以还是尽量找到ADB。 
  
2 配置QtCreator 
  
启动QtCreator,在Tools -> Options 中选择 Build & Run 选项卡,确认经检测到交叉编译器的qmake。 
  
然后进入Android 选项卡,依次填写SDK、NDK的位置,以及Apache Ant的ant.bat的位置。JDK会自动识别,如果没有识别的话,确认JAVA_HOME已经设置好。AVD是Android虚拟机,如果不使用手机调试,可以新建一个虚拟机。如果有手机的话,此处留空。 
  
3 建立工程 
  
在QtCreator中建立工程,模板可以选择GUI应用程序或者QtQuick应用程序。HTML5应用程序,虽然QtCreator显示支持Android,但是Qt for Android还没有实现webkit,所以这个模板是不可用的。 
  
通常我会选择一个桌面开发环境和一个交叉开发环境。Qt具备一次编写到处编译的特性,所以除非用到传感器等设备专有的模块,其他大部分逻辑均可以先在桌面环境下编写调试成功,然后再进行交叉编译。 
  
大部分的工程设置保持默认即可,这里提一下文档里没有说清楚的地方: 
  
选择Project侧栏,Android for arm构建环境,选择Run。在Deploy configuration里面有三个选项。软件中的三个选项和文档里的说明是不一致的。 
我想大多数人还会选择将Qt包裹进apk的deploy方式,这样可以做到彻底的离线安装,毕竟高速移动互联网还没有普及,使用Ministro会带来不佳用户体验。我们看到文档中提到的Bundle Qt libraries in APK 在软件界面里找不到了。为了达到这个功能,需要勾选Use local Qt libraries和选择 Use Qt libraries from device。 
  
最后,Android apk的构建过程是在Run这一步完成的。构建好的apk在工程目录/android/bin 下面。apk是一个zip包,可以用winrar打开,确认Qt的库是否已经集成。 

更多相关文章

  1. 在Netbeans上配置Android开发环境
  2. 近距离端详Android(安卓)ART运行时库
  3. Android的进程,线程模型
  4. android的selector,背景选择器
  5. Android简明开发教程九:创建应用程序框架
  6. 按钮状态选择(选中,取消)
  7. RAD DELPHI XE5的android开发环境配置
  8. GIPS为Android手机操作系统带来视频聊天功能(2010-4-14)
  9. 浅谈android的selector,背景选择器

随机推荐

  1. Android(安卓)定时执行任务 AlarmManager
  2. Android使用ConstraintLayout布局设置Tex
  3. 忙里偷闲写的小例子---读取android根目录
  4. Android 系统锁屏实现固件升级动画
  5. 来咯,2020Android 面试的重点要点题!
  6. Android(安卓)Mesh吸入式动画详解
  7. 随机选择收件人——Android 短信门?
  8. Android task和back stack详解四:intent中
  9. android socket链接 NIO非阻塞方式
  10. Android 内核 - 04 Framework 的启动