首页 > 其他分享 >Qt For Android

Qt For Android

时间:2022-11-15 14:32:15浏览次数:45  
标签:ndk Qt 配置 成功 Android QT sdk


一、总结(新手必看)
目的:在毕业设计中写一个手机软件来控制我自己开发的智能家居小型模拟系统,希望通过QT写程序,然后将编译生成的文件能够发送到我的手机上安装之后运行。

最开始的一脸懵逼和迷茫:网上搜索相关QT 安卓关键词,结果全都是“QT for Adroid环境搭建”这种博客文章,我当时就在想难道搭建好环境后就可以实现我以上所述的目的了吗,心里想不会这么轻松吗,心里空荡荡的,经过一番又一番搜索确认后发现的确是这样。

看着网上的环境搭建步骤,哇塞,感叹好复杂(全都是一些陌生又繁杂的东西),一下子就给心里增加了障碍,影响了大脑的运作,紧张而又迷茫(心里想我到底能不能成功配置,我到底需要多少天的时间才能成功);其实吧,经历了配置环境的三天过程后我才发现其实我之前的那种心态是及其不好的,遇到所有事情都不应该慌,循序渐进和心态平稳才能高效率完成任务。

二、重点(新手必看)
我最初配置环境过程中没有完完全全按照网上成功案列进行操作(即我电脑上以前安装的5.11.1的QT版本没有卸载了再重新安装成功案例中的QT版本,也没有下载成功案例中相同版本的jdk,sdk,ndk),导致了我配置出的环境失败告终,费了力气又费了时间,最好的办法就是在网上找出几个成功案列教程一步一步照着样配置,因为他提供的所有安装包版本是相互匹配并且经过成功验证了的,如果失败,一次不行就再卸载掉所有之前的安装包,然后换下一个成功案例进行仿照,直到成功(这样有战略性的进行操作成功更快,不要太纠结停留在某些小问题中)。

三、完整的QT For Android 环境配置成功案例教程
好几个热心博客的不同版本的QT For Android 环境配置成功案例教程:

1.QT For Android 环境配置

四、所遇到的环境配置问题和解决方法集合
初次配置失败告终,猜测原因可能有:
按照网上教程配置jdk环境参数时我疏忽了一个步骤:在环境变量中添加CLASSPATH 变量。
在sdk manager软件中下载的android资源有问题。
ndk的目录不能有空格,且ndk的在官方就有说明:很多ndk版本有错。
jdk,sdk,ndk,QT 这几个资源包的版本不匹配。
问题和解决过程:
打开sdk manager软件后选择资源包下载,但是绝大多数android资源无法下载,然后我搜索网上教程,按照教程设置国内镜像网站和端口,结果是那些网站都失效(并且连资源包列表都不能显示),仍然无法下载资源包,后来东碰西撞却发现andriod10可以下载。
配置QT环境时按照网上教程设置了jdk.sdk.ndk路径,但显示有警告符号 ,在构建套件中发现没有自动检测到Android版本套件,后来才发现是因为我最初安装QT时在安装过程中没有选择下载Android版本套件,然后我重新卸载了QT,重新安装了同版本的QT后就能自动检测到Android套件了。新建一个文件选择android套件后进行编译程序,结果编译报错 提示error.4 ,在网上苦找办法都没能找到参考办法。
冷静下来,思考下一步战略,狠心干脆卸载掉所有jdk,sdk,ndk,QT等,决心按照网上成功案列,下载同样版本,遵循所有步骤((1).jdk配置(2).下载安装android studio (3).在Android studio软件上下载sdk ndk等),下载QT5.13慢慢的重新配置,最后解决了很多以前的问题。
在所有新配置的基础上新建QT文件,结果编译报错error 4,我回忆发现没有重启电脑和配置sdk和ndk的环境变量,第二天我配置了sdk和ndk的环境变量和重启电脑后竟然发现编译可以通过了(编译过程仍然有显示红色文字的警告,但总体上编译通过了的,而且将生成的文件放在手机上安装成功运行和显示)。
闯过九九八十一难,历经整整三天,终于QT for Adroid环境配置成功,并且QT中生成的.apk文件在手机运行成功,感觉到人生巅峰,写下了这篇我的博客处女作。

最后预祝勇敢且优秀的你早日成功!!!


标签:ndk,Qt,配置,成功,Android,QT,sdk
From: https://blog.51cto.com/u_12606971/5852646

相关文章

  • android实现json的解析
    新建一个Person类/***CreatedbyMr.Chan*Time2022-11-15*Bloghttps://www.cnblogs.com/Frank-dev-blog/*/publicclassPerson{privateStringid......
  • 为什么工业软件开发一般用的都是QT?
    这个说法不大准确吧,CAD、MATLAB、EDA、PRO-E、Proteus、POWERPCB是用的QT么?SAP、EBS(ORACLE)、LabView是用的QT么?西门子的工业控制类的软件(比如SIMATICSCADA)用的QT么?这些......
  • Qt音视频开发02-海康sdk解码(支持句柄/回调/gpu模式/支持win/linux)
    一、前言为何还要选用使用海康sdk,之前不是ffmpeg已经牛皮吹上天了吗?这个问题问得好,那是因为无论ffmpeg也好还是vlc/mpv之类的,都是实现的播放相关,不同的监控硬件厂家对应设......
  • QTimer
    一、1.start后,不是立即执行,是相隔设定的时间之后执行。2.start可以反复调用。 二、timer_=newQTimer(this);connect(timer_,&QTimer::timeout,this,&MainWind......
  • Android Canvas 清除背景
    使用canvas.drawColor(Color.TRANSPARENT,PorterDuff.Mode.CLEAR);即可完成清除背景,但是发现Canvas会留下黑色背景,以下提供处理方法//使窗口支持透明度surfaceHol......
  • Visual Studio 2022 QT 开发环境配置
    VisualStudio2022QT开发环境配置目录VisualStudio2022QT开发环境配置0.准备工作1.安装与配置0.准备工作操作系统环境:Windows10/11预备软件:序号软件名......
  • apkanalyzer.bat could NOT be found in D:\Program Files\android-sdk的解决方案
    下载Commandlinetools在网站:https://developer.android.google.cn/studio?hl=zh-cn中向下滑动,在Commandlinetoolsonly部分下载工具。压缩包.zip/cmdline-tools/*......
  • android:layout_gravity 和 android:gravity 的区别
    gravity这个英文单词是重心的意思,在这里就表示停靠位置的意思。android:layout_gravity和android:gravity的区别从名字上可以看到,android:gravity是对元素本身说的,元素......
  • C++软件编码规范推荐--Qt相关
    1背景  Qt开发常用于跨平台开发的首选,所以关于Qt开发的编码规范也很重要。2QWidget  【规范】信号命名:sgl+驼峰命名规则,如:sglUpdate();  【规范】槽函数:on+驼峰......
  • 解决android java.lang.ClassCastException android.app.Application
    定义类DemoApp,结果Activity调用始终报类错郁闷呀!classDemoAppextendsApplication{}  下面的配置注意:   <applicationandroid:icon="@drawable/icon......