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。

下载地址:

https://dl.google.com/dl/android/studio/install/2.3.3.0/android-studio-bundle-162.4069837-windows.exe

中国官网: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开发入门的更多相关文章

  1. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  2. [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解

    原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...

  3. [译]:Xamarin.Android开发入门——Hello,Android深入理解

    返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...

  4. [译]:Xamarin.Android开发入门——Hello,Android快速上手

    返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...

  5. Qt For Android 开发环境配置

    想了想,还是再写一篇关于Qt for Android开发环境配置的教程. 准备:Java jdk,Android sdk,Android adb,Android ndk,Android ant,Qt ...

  6. 教我徒弟Android开发入门(一)

    前言: 这个系列的教程是为我徒弟准备的,也适合还不懂java但是想学android开发的小白们~ 本系列是在Android Studio的环境下运行,默认大家的开发环境都是配置好了的 没有配置好的同学 ...

  7. Android开发入门经典【申明:来源于网络】

    Android开发入门经典[申明:来源于网络] 地址:http://wenku.baidu.com/view/6e7634050740be1e650e9a7b.html?re=view

  8. Android开发入门要点记录:四大组件

    cocos2dx跨平台开发中需要了解android开发,昨天快速的浏览了一本Android开发入门教程,因为之前也似懂非懂的写过Activity,Intent,XML文件,还有里面许多控件甚至编程思想 ...

  9. Android开发入门

    教我徒弟Android开发入门(一) 教我徒弟Android开发入门(二) 教我徒弟Android开发入门(三) 出处:http://www.cnblogs.com/kexing/tag/Androi ...

随机推荐

  1. Spring源码剖析1:初探Spring IOC核心流程

    本文大致地介绍了IOC容器的初始化过程,只列出了比较重要的过程和代码,可以从中看出IOC容器执行的大致流程. 接下来的文章会更加深入剖析Bean容器如何解析xml,注册和初始化bean,以及如何获取b ...

  2. java学习之- 线程继承Thread类

    标签(空格分隔): 线程 在java.lang包中有个Thread子类,大家可以自行查阅文档,及范例: 如何在自定义的代码中,自定义一个线程呢? 1.通过对api的查找,java已经提供了对线程这类事 ...

  3. ionic $state.go() 传参

    例子: $state.go("tab.home" , {"hello": "world"}) 重点: 接受参数的页面--tab.home,需 ...

  4. 关于line-height 行高的一些理解和技巧

    大家都知道,如何设置文字垂直居中,也就是:设置line-height 和 外围盒子的高度height一致: 其实这里有个地方,是多余的,也就是height,设不设置都居中: 那么,行高是生产高度的? ...

  5. MSIL实用指南-位运算

    C#支持的位运算是与.或.异或.取反.左移.右移,它们对应的指令是And.Or.Xor.Not.Shl.Shr. 取反运算只需要一个操作数,生成步骤是1.生成加载变量2.生成取反指令实例代码: ilG ...

  6. 分布式任务调度框架 Azkaban —— Flow 2.0 的使用

    一.Flow 2.0 简介 1.1 Flow 2.0 的产生 Azkaban 目前同时支持 Flow 1.0 和 Flow2.0 ,但是官方文档上更推荐使用 Flow 2.0,因为 Flow 1.0 ...

  7. 数据的查找和提取[2]——xpath解析库的使用

    xpath解析库的使用 在上一节,我们介绍了正则表达式的使用,但是当我们提取数据的限制条件增多的时候,正则表达式会变的十分的复杂,出一丁点错就提取不出来东西了.但python已经为我们提供了许多用于解 ...

  8. Kth Minimum Clique_2019牛客暑期多校训练营(第二场)

    题目连接: https://ac.nowcoder.com/acm/contest/882/D Description Given a vertex-weighted graph with N ver ...

  9. acm未解之谜-洛谷P1109学生分组

    把每一组的学生个数调度到一个给定区间范围内: 看了一圈题解,大佬都对原因避而不答: #include <iostream> #include <algorithm> using ...

  10. Hangman Judge UVA - 489

    In ``Hangman Judge,'' you are to write a program that judges a series of Hangman games. For each gam ...