本文将手把手教你如何在Windows环境下,使用Qt编译出安卓应用程序。

Qt是一个优秀的跨平台开发工具。我们利用Qt可以很方便地将一次编写的应用,多次编译到不同平台上,如Windows、Linux、MAC、Android、iOS、Windows Phone等。开发者只需掌握Qt的C++编程与界面制作方法,即可制作出包括手机APP在内的跨平台应用。

需要注意的是,Qt对Android与iOS、UWP等平台的支持目前还不是很完美。使用Qt来进行手机应用开发,制作出来的成品无论是界面、系统资源调用还是稳定性,肯定不如使用原生开发环境开发的要好。使用Qt来进行APP开发主要适合非软件专业的学生、非APP开发行业的开发人员(如电子设计爱好者)用来开发调试用的APP,相较重新学习一个甚至多个系统下的软件开发,这无疑是十分节省时间和精力的。

1.    安装JDK:编译Android程序必需的Java开发环境

https://developer.android.com/ndk/downloads/index.html

下载Windows环境下最新版本安装即可。

2.    安装Apache Ant

“Apache Ant is a Java library and command-line tool thathelp building software”

http://ant.apache.org/bindownload.cgi

下载最新版复制到你的目标安装目录下进行解压即可。

3.    安装Android NDK

安卓原生开发工具包 NDK可用于实现使用C/C++语言构建Android程序。

https://developer.android.com/ndk/downloads/index.html   或

http://tools.android-studio.org/ 最下方找到NDK

下载最新版本直接解压即可。由于文件较多,建议复制到你的目标安装目录下进行解压。

4.    安装Android SDK

http://tools.android-studio.org/index.php/sdk/

选择下载Windows最新的SDK Tools,安装后运行SDK Manager,勾选如下工具。

(如果无法***,请按照http://tools.android-studio.org/index.php/proxy重新配置软件源)

如下图,根据自己需要,勾选一个Android版本的开发工具。之后点击“Installxxx packages”安装即可。

5.    下载并安装Qt与Qt On Android

https://info.qt.io/zh-cn/download-qt-for-application-development

注册并点击“获取开源包”,再点击绿色“Download Now”按钮下载最新版的Qt在线安装器。

打开安装器后,登录刚才注册的账号,在“选择组件”中勾选所需Qt版本的如下组件。“MinGW”是Qt在Windows下的编译工具,“Android”开头的即为安卓环境下对应处理器的开发工具,“UWP”即Windows Phone的开发工具。

6.    安装完成后,打开Qt Creator,依次点击菜单栏“工具-选项-设备-Android”,配置JDK、SDK、NDK、Ant的路径。点击“Start AVD Manager”可创建AVD,方便之后的调试。(电脑配置较差的可以略过,我们可以使用Qt编译出Windows环境下的版本进行调试,确认程序没有问题之后直接使用生成的apk进行真机测试即可,个人暂时没有遇到因环境不同导致的兼容问题)

7.    新建或打开一个Qt工程,在工程配置页面中勾选Android对应处理器的环境。

8.    在左侧边栏“项目”中,选择Android构建项目,选择“Android build SDK”之后,点击“Create Template”。该操作会在项目根目录创建“android”文件夹与相应文件,并自动在.pro文件中添加创建的文件。

9.    在弹出的“AndroidManifest.xml”中,可配置包名称、目标SDK版本以及APP版本号、显示名称、图标等信息。右击项目列表中的“AndroidManifest.xml”文件选择“用...打开-普通文本编辑器”可更改如APP屏幕方向等更多的配置,详细方法请看(http://blog.csdn.net/liukang325/article/details/44944267)。

10.  点击左下角的锤子(编译)按钮,即可编译出Android应用了,目标apk文件将储存在输出文件夹的“android-build\bin”文件夹中。

利用Qt开发跨平台APP的更多相关文章

  1. 利用Qt开发跨平台APP(二)(iOS,使用Qt5.9,很详细,有截图)

    本文将手把手教你如何使用Qt编译出iOS应用程序. Qt是一个优秀的跨平台开发工具.我们利用Qt可以很方便地将一次编写的应用,多次编译到不同平台上,如Windows.Linux.MAC.Android ...

  2. 带你从零学ReactNative开发跨平台App开发(一)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  3. 带你从零学ReactNative开发跨平台App开发(十一)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  4. Sublime用户如何快速高效开发跨平台App

    2015年9月15日,APICloud举办了一周年开源分享会,发布开源插件支持Sublime用户开发跨平台App,APICloud 开源技术负责人周兴海分享了Sublime关于插件方面相关的内容. S ...

  5. 带你从零学ReactNative开发跨平台App开发(二)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  6. 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  7. 带你从零学ReactNative开发跨平台App开发(十)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  8. 带你从零学ReactNative开发跨平台App开发(九)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  9. 带你从零学ReactNative开发跨平台App开发[expo 打包发布](八)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

随机推荐

  1. OKEx货币对价格数量长度及精度

    长度 precisions = [["bch_btc","0.001","0.00000001"], ["ltc_btc" ...

  2. 读取Excel列,转换为String输出(Java实现)

    需要导入的jar包 具体实现 public class ColumnToString { public static void main(String[] args) { new ColumnToSt ...

  3. extjs错误,看到红色才能让自己记住知识点

    1.Cannot call method 'getColumnCount' of undefined Hi, maybe you use colModel before rendering.Notic ...

  4. vscode主题配色

    https://www.cnblogs.com/garvenc/p/vscode_customize_color_theme.html

  5. requests库的小技巧

    #coding:utf-8 import requests # url = 'http://www.baidu.com' # response = requests.get(url) # print ...

  6. 订阅号助手App发布 手机也能管理公众号了

    盼着许久的微信订阅号助手app终于发布了!“ 微信团队发布「订阅号助手」App,支持公众号运营者在手机上发表内容.查看和回复消息.管理已关注用户和帐号.暂时只支持iOS平台,Android平台敬请期待 ...

  7. DOM对象与Jquery对象转换

    dom对象的样式是这么加的(js) .style.background = “red”; jquery对象样式是这么加的(jq) .css(“background”,”red”); <div i ...

  8. 使用pssh进行并行批量操作

    假如同时给上千台服务器执行一个命令,拷贝一个文件,杀一个进程等,有什么简化运维管理的工具呢?在小型使用中我都是使用for循 环,数量巨大,一方面不确定操作是否成功,一方面for循环语句性能不好估计且是 ...

  9. Microsoft Interview第一轮

    上来随意交谈了一小会儿,开了点小玩笑,chat了一些关于他们recruter行程的话题,缓和了一下气氛. 进入正题,问了做的research的方向,我说是DLT,然后大概给他讲解了一下具体是什么, 跟 ...

  10. checkBox的使用和事件监听

    直接上代码: <!DOCTYPE html> <html> <head> <title></title> </head> < ...