利用Qt开发跨平台APP
本文将手把手教你如何在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的更多相关文章
- 利用Qt开发跨平台APP(二)(iOS,使用Qt5.9,很详细,有截图)
本文将手把手教你如何使用Qt编译出iOS应用程序. Qt是一个优秀的跨平台开发工具.我们利用Qt可以很方便地将一次编写的应用,多次编译到不同平台上,如Windows.Linux.MAC.Android ...
- 带你从零学ReactNative开发跨平台App开发(一)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(十一)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- Sublime用户如何快速高效开发跨平台App
2015年9月15日,APICloud举办了一周年开源分享会,发布开源插件支持Sublime用户开发跨平台App,APICloud 开源技术负责人周兴海分享了Sublime关于插件方面相关的内容. S ...
- 带你从零学ReactNative开发跨平台App开发(二)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(十)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发(九)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发[expo 打包发布](八)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
随机推荐
- 让WIN7桌面显示IE图标
首先新一个文本文件,将以下代码复制到新建文档中.然后保存为IE.reg,右键以管理员权限运行.此时,注册表注册成功.LOOK,IE图标出来了 Windows Registry Editor Versi ...
- Unity-反编译由IL生成的DLL文件
本文由博主SunboyL原创,转载请注明出处:http://www.cnblogs.com/xsln/p/DLL_DeCompilation.html 在Unity实际开发过程中,我们 ...
- ConcurrentLinkedQueue
我们要实现一个线程安全的队列有两种实现方式,阻塞算法.非阻塞算法.使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁) 或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环 ...
- 鼠标滑动到指定位置时div固定在头部
$(function(){ $(window).scroll(function () { if ($(window).scrollTop() > 253) { ...
- python 基础 集合
集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 交集 并集 差集 子集 对称差集 list ...
- 【深入理解javascript】王福朋,厉害了word哥
学习前端有一段时间了,一直以来也没搞明白js中这个闭包到底是个什么东西,有时候看看别人的博客或者知乎的文章,大概上有个了解,可过一段时间也就忘了.偶然间有幸拜读了博客园-王福朋的这一系列文章<深 ...
- PHP消息队列实现及应用_慕课网学习
https://blog.csdn.net/d_g_h/article/details/79643714 https://blog.csdn.net/tTU1EvLDeLFq5btqiK/articl ...
- CentOS忘记普通用户密码解决办法
普通用户忘记密码 1.使用root用户登录系统,找到/etc/shadow文件. 2.找到用户名开头的那一行,例如我的用户名为pds,,以冒号为分割符,红色部分是密码加密部分 pds:$1$Civop ...
- Python爬虫第一个成功版
爬取http://www.mzitu.com/all里面的图片 import urllib.request import re import os url = 'http://www.mzitu.co ...
- Selenium+Java元素定位之三
首先自己先准备一个表格代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...