Qt for Android开发入门
1. Qt for Android环境搭建
1.1 打包需要的工具
1.2 JDK安装
如果之前配置过,就可以跳过这一步。
下载java jdk 64:java jdk 1.8 x64
下载java jdk 32:java jdk 1.8 x86
Java jdk 1.8 官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
配置系统环境变量:
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_144
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
注意%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar前面还有一个.;
在Path变量名中添加变量值:%JAVA_HOME%\bin
配置图示:
1.3 Android SDK安装
Android sdk配置最方便的方法是下载一个Android Studio,然后安装它,它提供了sdk和adb。
下载地址:
中国官网:http://www.android-studio.org/
安装完毕后,运行程序,他会解压自带的sdk,可以在设置里面更改SDK版本。
还有一种方法是直接下载SDK安装:installer_r24.4.1-windows.exe,运行安装目录下面的“SDK Manager.exe”,然后勾选安装,在方框的前两个中是必选的,之后的Build-tools最好是选择对应版本。对于安卓的版本我这里安装的是Android 8.0 (API 26)以上,你们可以自行选择。SDK下载完成后会占用较大的硬盘空间,请将其安装在空间充足的盘符中。
安装完毕后,如下图目录所示,找到SDK安装目录下面的“platform-tools”目录,把此目录的路径“..\platform-tools”添加到系统环境变量中。
1.4 Android NDK安装
Android NDK 提供一组随新的 Android API 级别后续发布而逐渐增加的原生标头和共享库文件。
Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。
Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。NDK包括以下方面:
1、从C / C++生成原生代码库所需要的工具和build files。
2、将一致的原生库嵌入可以在Android设备上部署的应用程序包文件(application packages files ,即.apk文件)中。
3、支持所有未来Android平台的一系列原生系统头文件和库。
ndk_r9d: http://dl.google.com/Android/ndk/android-ndk-r9d-windows-x86.zip
ndk_r11c: http://dl.google.com/android/repository/android-ndk-r11c-windows-x86.zip
最新版: https://developer.android.google.cn/ndk/downloads/ (我使用的!)
注意:我刚开始也使用了r11c的版本,但是编译会出错,建议选择最新版本的!
解压下载好的ndk,将其与sdk置于同一级目录下即可。
1.5 Apache Ant安装
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。
Android ant下载官网:http://ant.apache.org/bindownload.cgi
在这里我采用的是目前来说 最新版的 ant1.10.5:
http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.10.5-bin.zip
然后解压出来置于sdk同一级目录,将..\apache-ant-1.10.5\bin添加到系统环境变量Path中。
1.6 QT软件包以及Qt Creater安装
对于QT的版本,我这里使用的是最新的5.12版本(带QT Creater5.12)
下载:http://download.qt.io/archive/qt/5.12/5.12.0/
安装可参考:https://blog.csdn.net/gaojixu/article/details/82185694
2. HelloQtOnAndroid实例
2.1 Qt Creater中配置Android
打开Qt Creater,菜单[工具]->[选项]->[设备]-“Android”以及“设备”,填写各项如下:
正确配置应用后,转到“Kits”中可以看到已经可以吧构建Android的套件显示出来了。
之后,点击确定(OK),然后新建项目时选中自己需要的构建套件,可以全部选中用的时候比较方便。
2.2 Qt Creater中新建工程
[文件]->[新建文件或项目],选择Qt Widgets Application,可以看到支持的平台包括:Android设备
设置Qt项目名称为“HelloQtOnAndroid”
下一步… “Select all kits”
下一步… 选择基类“QWidget”
汇总并点击[完成]。
2.3 Qt Creater中项目构建配置
点击[项目],选择Android for armeabi-v7a配置Build
执行build…
经历“qmake”-“make”-“make install”-“androiddeployqt”过程!
成功后,在build-HelloQtOnAndroid-Android_for_armeabi_v7a_Clang_Qt_5_12_0_for_Android_ARMv7-Debug
\android-build\build\outputs\apk\debug中找到生成的apk文件,安装测试即可!
2.4 运行实例
本实例验证一下QT的基本部件在Android上的显示效果。
Android设备安装运行效果显示(我给app换了个好看的ico):
可以看到除个别(如spacer)以及一些复杂的部件外,大多数部件都能在Android端显示出来,但是显示的字体大小等需要进行一定的移动端适配操作。
3. 参考
Qt帮助文档
《Qt On Android核心编程》
http://www.runoob.com/android/android-application-components.html
Qt for Android开发入门的更多相关文章
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解
原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...
- [译]:Xamarin.Android开发入门——Hello,Android深入理解
返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...
- [译]:Xamarin.Android开发入门——Hello,Android快速上手
返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...
- Qt For Android 开发环境配置
想了想,还是再写一篇关于Qt for Android开发环境配置的教程. 准备:Java jdk,Android sdk,Android adb,Android ndk,Android ant,Qt ...
- 教我徒弟Android开发入门(一)
前言: 这个系列的教程是为我徒弟准备的,也适合还不懂java但是想学android开发的小白们~ 本系列是在Android Studio的环境下运行,默认大家的开发环境都是配置好了的 没有配置好的同学 ...
- Android开发入门经典【申明:来源于网络】
Android开发入门经典[申明:来源于网络] 地址:http://wenku.baidu.com/view/6e7634050740be1e650e9a7b.html?re=view
- Android开发入门要点记录:四大组件
cocos2dx跨平台开发中需要了解android开发,昨天快速的浏览了一本Android开发入门教程,因为之前也似懂非懂的写过Activity,Intent,XML文件,还有里面许多控件甚至编程思想 ...
- Android开发入门
教我徒弟Android开发入门(一) 教我徒弟Android开发入门(二) 教我徒弟Android开发入门(三) 出处:http://www.cnblogs.com/kexing/tag/Androi ...
随机推荐
- 思科ACS5.8最新搭建教程-亲测可用
1.需要准备的相关软件 ACS5.8安装包:http://ouo.io/MWB0R ACS5.8破解包:http://ouo.io/FaiGgj Centos7:下载地址(破解时需要):http:// ...
- MinorGC 和 FullGC的理解
1.GC回收机制熟悉么,分代算法知道么?2.了解 Java 虚拟机的垃圾回收算法? 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC. Major GC 是清 ...
- 更新!ArcMap和ArcGIS Pro加载百度影像地图
上一篇文章写了ArcMap和ArcGIS Pro中加载百度地图 的方法 一次没有把百度影像加载的功能开发出来,趁这几天有空整理了下 加载方法按照上次那篇文章操作. 百度影像wmts加载地址:http: ...
- Liunx学习总结(四)--文件的权限管理
文件和目录的权限 每个文件都有其所有者(u:user).所属组(g:group)和其他人(o:other)对它的操作权限,a:all则同时代表这3者.权限包括读(r:read).写(w:write). ...
- JavaScript数组方法详解
JavaScript数组方法详解 JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法:并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中 ...
- (四)数据持久化(基于YesSql)
ORM框架(持久化流程) session是事务 (transaction) 的工厂,处理session后,所有更改将自动刷新到数据库中.或者,如果要处理何时将更改刷新到数据库,即transaction ...
- C# winform语音提示
1.SpeechSynthesizer文字转音频 项目添加引用:System.Speech using(SpeechSynthesizer speech = new SpeechSynthesizer ...
- 用户数从 0 到亿,我的 K8s 踩坑血泪史
作者 | 平名 阿里服务端开发技术专家 导读:容器服务 Kubernetes 是目前炙手可热的云原生基础设施,作者过去一年上线了一个用户数极速增长的应用:该应用一个月内日活用户从零至四千万,用户数从零 ...
- Prim算法、Kruskal算法、Dijkstra算法
无向加权图 1.生成树(minimum spanning trees) 图的生成树是它一棵含有所有顶点的无环联通子图 最小生成树:生成树中权值和最小的(所有边的权值之和) Prim算法.Kruskal ...
- 牛客国庆集训派对Day3 B Tree(树形dp + 组合计数)
传送门:https://www.nowcoder.com/acm/contest/203/B 思路及参考:https://blog.csdn.net/u013534123/article/detail ...