Tools_1_1_3_Windows Qt5.10 for Android移植

作者:永恒0852永恒0852发布时间:2017-12-22 18:35

1. Qt编译器环境

------1) Qt for Android环境安装(我们使用的qt中必须包含Android相关的编译器才能进行移植)
---------①在原有的qt软件更新
---------②在开始菜单,找到qt对应的文件夹

                 1_②在开始菜单,找到qt对应的文件夹.png


---------③点击卸载按钮,会弹出一个,维护Qt的界面。

                 选择:更新组件,需要联网更新(需要等待几分钟)。
                 2_③点击卸载按钮.png
---------④ 弹出添加组件列表,在列表中选择“Android for armeabi-v7a "
                 正常情况下:然后就是一直下一步,进行安装。
                 异常情况下:无法更新。
                 3_④ 弹出添加组件列表.png

------2) 新安装qt
---------① Qt在线安装,[引导程序下载网址](https://www1.qt.io/cn/download/)
------------a)注册账号,根据提示,选择使用性质,下载在线安装引导程序, qt-unified-windows-x86-3.0.0-online”。
------------a)双击,安装时选择安装需要的版本即可。
---------②下载离线安装包,[下载网址](http://download.qt.io/archive/qt/)
                 点击查看原图
                  选择相应的版本,进行下载,我这里下载的是:
                 点击查看原图
                  默认安装,其中包含了Android编译器。

2. Qt编译环境配置

------1)启动Qt Creator,验证当前的环境,打开黑白棋代码(或者一个空的qt界面项目),编译并运行,如果正常的运行,那Windows的环境正常,如果运行失败,可能需要配置系统变量,直到可以运行案例位置,如下图,窗口工程运行正常。
                  6_启动Qt Creator.png
------2)在菜单栏 "工具"->"选项"->"设备"->“Android”配置环境
---------① 如下图:
                 点击查看原图
---------② 图中标示,需要的配置环境:
                    java:选择对应的jdk目录
                    Android:选择sdk目录,和ndk目录
                    状态显示:如果以上三个目录选择正确,状态栏显示的都是对号,说明环境配置成功。

3. Android环境配置
              Windows qt向安卓平台移植,需要安装Qt要求配置环境,Android软建开发用的是Java语言,所以第一步当然要完成Java环境的搭建,然后才是Android的环境,点击环境配置路径后面的绿色箭头,可以打开相应的软件网址。

------1)java环境安装
---------①Java环境搭建其实就是jdk安装,[下载网址](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
------------a)我下载的版本:jdk-9.0.1_windows-x64_bin.exe
------------b)双击安装(需要记住安装目录),然后在qt的jdk那里点击浏览,选择java安装目录带有jdk的文件夹(版本不一样时,命名是jdk+版本号)。
------------c)我的安装目录是:"C:\Program Files\Java\jdk-9.0.1",选择,下面的环境状态就提示:"Java Settings are OK. "
                   8_我的安装目录是.png
------------d)安装完成后,要对环境变量进行配置。
---------------ⅰ: 首先右键单击我的电脑,左键单击属性,高级系统设置,高级,环境变量,在系统变量里找到Java_home变量单击编辑进行设置,  没有的话就新建一个, 设置Java_home的目的是方便系统找到Java的安装路径 方便引用。
---------------ⅱ: 设置Javahome的值要按照自己安装时的路径设置, 我实际安装目录是:C:\Program Files\Java\jdk-9.0.1,当然如果默认安装的化不是这个路径,值要填写自己安装时的路径,我的就是实际安装路径,如下图:
                    9_设置Javahome.png
---------------ⅲ: 在系统变量里找到path变量单击编辑进行设置,设置path变量的作用是设置系统默认执行程序搜索路径,在CMD中执行命令时会默认到path的路径下寻找可执行文件 这里设置时可以是“;+你的安装路径”不过推荐使用“%Java_home%\bin” 注意前面的分号一定要有,代表的路径实际就是:“C:\Program Files\Java\jdk-9.0.1\bin”。
                    10_在系统变量里找到path.png
---------------ⅳ: 设置好Java_home和path后下面设置class_path变量,没有就新建一个, 值:“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar” (双引号内的都要,以点开始,加.表示当前路径)
                    11_设置好Java_home.png
---------------ⅴ: 环境测试,开始-运行-CMD,在命令行输入Java -version看有没有相应版本信息出现,有那么就安装成功,命令格式要正确 Java+空格+-version
                    12_环境测试.png

------2)Android环境安装
---------① sdk的环境,需要安装安卓的开发环境"android-studio ",[下载网址](https://developer.android.com/studio/)
------------a)我下载的版本: android-studio-bundle-141.2456560-windows.exe。
------------b)双击安装,因为软件默认就是安装在c盘的,有的时候我们会修改安装目录,如下图,第一部分是主程序的安装目录,第二部分是sdk的安装目录,也就是qt需要设置的目录,你安装在那个目录下,qt中就选择那个目录。
                        (注意:假设开始安装时指定sdk的安装目录是test文件夹,那么就选择test文件夹即可,但为例方便,建议把安装目录命名为sdk)
                    13_双击安装.png
------------c)安装完成后,在qt sdk栏中选择相应的路径,我的实际路径是:E:\software\Android\sdk,如下图,路径选择ok后,下面对应sdk的状态都显示对号。
                    14_安装完成后.png
---------② ndk的环境,[下载网址](https://developer.android.com/ndk/downloads/)
------------a)我下载的版本:android-ndk-r10e-windows-x86.exe。
------------b)下载的文件是exe的,如果双击的话,会自动解压,但不知道解压到哪里去了,所以我们自己右击解压即可。
                   15_下载的文件是exe的.png
------------c)解压之后,把文件夹放到你安装软件的目录下(任何位置都行,没有限制),我把解压后的文件放到了:"E:\software\Android\android-ndk-r10e-windows-x86\”。
                   点击查看原图

------------d)在qt sdk栏中选择相应的路径,我的实际路径是 E:\software\Android\android-ndk-r10e-windows-x86\android-ndk-r10e,即可,查看相应的状态,都变成了对号。
                  17_在qt sdk栏中选择相应的路径.png
---------③ 配置完成,点击ok

---------④ 如果需要配置Android模拟器,则初次启动时,一切默认就行。直到出现 Android Studio 的首页,然后点击Configure,转到Settings,进行相关配置,这里不使用模拟器,不做相关的设置,具体方法,可参考百度经验:https://jingyan.baidu.com/article/3c343ff70273e30d3679636c.html


------3)Android编译环境确认。
---------① 必须打开一个项目(任意即可),点击项目,右侧会看到很多版本的编译器,如果编译器前面的图标有红色感叹号,则代表不可用,确认Android armv7的编译器可以,那么我们编译Android的软件就是用这个编译器。
                  点击查看原图

4. Windows Qt的小程序向Android移植。

------1)小程序“黑白棋”的移植。
---------① 首先用Windows编译器编译,看程序在Windows平台是不是可以正常运行。
---------② 选择的编译器是:minGW 32bit,编译结果如下:(gif动图,可点开播放)
                 点击查看原图
---------③ 使用我们上面确认的安卓编译器编译,gcc4.9_Android armv7。
------------a)编译1:出错,原因是(在构建/部署项目时出错(工具包:armeabi - v7a的Android系统(GCC 4.9,Android armv7的Qt 5.10.0)) 执行步骤“部署到Android设备”),如下图:
                  点击查看原图
------------b)编译2:创建模拟器,发现创建模拟器的Target API不能选择,这个原因就是,我们的安卓虚拟机的环境有问题(我们没有配置)。
                  点击查看原图

---------④ 使用安卓手机测试。
------------a)手机使用usb线和电脑连接,连接成功之后,需要在手机设置,“允许安装来自未知来源的应用“ ,打开“开发者选项”,"在usb调试后面打钩"。
                  22_使用安卓手机测试.png
                        如果安卓手机找不到开发者选项/usb调试怎么办?
                        我们打开设置却始终找不到常用的USB调试,对了,那个开发者选项哪去了?其实,在android 4.2以上系统中,谷歌对这们打开设置却始终找不到常用的USB调试,谷歌对这一选项仅仅是加以隐藏而已,这里给出在android 4.2以上系统中打开开发者选项的方法。
---------------ⅰ: 打开手机“设置”,拉到底点击进入“关于手机”,
---------------ⅱ: 拉到底并快速点击“版本号”几次(最多5次),系统即提示“您现在处于开发者模式”(不同手机提示可能不同);
---------------ⅲ: 返回“设置”,我们已经可以看到“开发者选项”了,点击进入可以找到我们常用的“ROOT授权”控制,“usb调试”等;
---------------ⅳ: 如果不需要“开发者选项”了,我们可以关闭它,方法是直接在“开发者选项”界面将右上角的开关关闭即可;


------------b)开始编译时,会弹出选择界面,我们双击我们的物理手机,编译成功后, 手机就开始运行程序的界面,可以点击程序进行操作,同时如果程序有调试信息输出的话,qt的debug栏也能接收到打印的信息。点击终止调试时,手机的程序关闭,但是,程序已经在手机上安装了。(动画后面有点失真,不过不影响观看流程)
                点击查看原图

------2)小程序“猜数字”的移植。
---------① 首先用Windows编译器编译,看程序在Windows平台是不是可以正常运行。
                  点击查看原图
---------④ 使用安卓手机测试,步骤和黑白棋一样,移植过程如下:
                 25_使用安卓手机测试.gif
 
5. 其他说明

------1)在安装环境的时候,虽然qt提供了相应的网址,但是在有些网址打不开,国外的网站,为什么打不开你懂得,需要自己想办法。
------2)在配置安卓环境的时候,因为对安卓不熟悉,所以没有配置安卓虚拟机,使用“酷派大神F2”手机进行测试。
------3)使用手机进行qt移植测试的时候可能,在选择手机或者模拟器的那个环节,可能会弹出“adb connection error”,ADB错误,这个是安卓环境的问题,百度很多解决方案,似乎也是常见问题,我选择了简单粗暴的重启电脑解决。
------4)现在虽然可以把Windows的程序移植过去,但是界面不协调,如果需要完善这些,就需要对Qt for Android知识进行补充。
------5)移植使用的源代码,和需要的软件,我放在了百度网盘,供大家下载测试。
                链接: https://pan.baidu.com/s/103wuBuF_zx5HcFmROENVkQ 提取码: gwhv

评论