Qt for android填坑历程(版本5.15.2)

这篇具有很好参考价值的文章主要介绍了Qt for android填坑历程(版本5.15.2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、为什么会入坑?

最近在学习Qt,移动端的应用很有诱惑力不是?那咱们也走起!环境搭建是第一步,按照网上N多的教程,一步一步做过来,然并卵啊。

二、都有什么坑?

一部分问题按照网上教程能解决,这里就不多做提及。

现在Qt安装除非选择老版本,一般都是在线安装。下载完在线安装工具后,为了不浪费自己的生命,最好是在运行安装程序时,多费点心思,启动cmd,用参数选择国内镜像安装,如下:

.\qt-unified-windows-x64-4.4.1-online --mirror https://mirrors.ustc.edu.cn/qtproject

安装时组件选择比较坑,Qt Creator不能选择老版本,只能选最新的12.0版本。

一路next下去,安装完成后顺利启动Qt,是不是很Good的感觉?

在菜单栏选择"编辑"->"Preferences",弹出"首选项"对话框,在左侧列表中选中"设备",在右侧点击属性页"Android",在"安卓设置"中首先设置JDK路径,然后建立SDK目录,点"浏览"按钮选中目录,点"设置SDK"后开始安装SDK tools。安装完成后可以点击"SDK管理器"下载NDK及其它一些组件。

NDK下载完成后记得把NDK目录加入NDK列表,配置好后的情形是这样的:

qt5.15.2 for android,qt

 其中的SDK版本很有迷惑性,这个版本号应该是SDK目录中cmdline-tools的版本,我使用的是8.0,更新的版本好像有问题,跟JDK8不兼容,下载组件会失败。

构建套件设置好以后,新建一个工程,配置好项目,点击构建,一般会卡在获取gradle文件的地方

https://services.gradle.org/distributions/gradle-x.x.x-bin.zip

 把这个文件手动下载到本地,然后把路径指向本地文件。这一步趟过去后,继续往前走,前面是一个深不见底的沟壑。

Exception in thread “main” java.lang.NullPointerException at org.gradle.wrapper.PathAssembler.getDistName(PathAssembler.java:84) at org.gradle.wrapper.PathAssembler.getDistribution(PathAssembler.java:40) at org.gradle.wrapper.Install.createDist(Install.java:44) at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107) at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

这个报错我找了网上很多解决办法,尝试后都失败了,包括手动下载gradle相应版本并在环境变量中设置安装路径。但奇怪的是我在cmd中运行gradle命令,提示没有找到命令。Why????

根据报错信息,应该是某个路径没有设置造成的 。我把手动安装的gradle卸载,然后路由到GRADLE_USER_HOME目录,其下的wrapper\dists\gradle-5.6.4-bin\bxirm19lnfz6nurbatndyydux中只有如下两项:

gradle-5.6.4-bin.zip.lck                                              
gradle-5.6.4-bin.zip.ok  

正常情况这个目录是这样的:

gradle-5.6.4                                                          
gradle-5.6.4-bin.zip                                                  
gradle-5.6.4-bin.zip.lck                                              
gradle-5.6.4-bin.zip.ok                                               
gradle-5.6.4-bin.zip.part 

把gradle-5.6.4-bin.zip拷贝过来,然后把压缩包中的文件解压,把解压后的gradle-5.6.4 目录整个复制过来。

最后设置GRADLE_HOME指向这个gradle-5.6.4 目录,并在path环境变量中新建项%GRADLE_HOME%\bin,搞定后运行gradle命令正常,再在Qt中构建项目,可以继续了。

狗血的剧情来了,构建过程中报错,如果ABIs不选,可以生成APK,选择一个ABI后,自己编译出来的中间文件找不到了?具体情况时这样的:

构建目录下有个与工程名字对应的目录,在这个目录里有个android-build目录,里面有各个ABI对应的目录,如armeabi-v7a等等,里面有libxxxx_armeabi-v7a.so文件,但构建程序却要在如下路径里查找这样一个文件:

构建目录\xxx\android-build\arm-linux-android-elf-32bit\libxxxx_arm-linux-android-elf-32bit.so

 你没有看错,这就是Qt Creater12.0干出来的事。

其根源在于Qt Creator12.0把NDK里对应的ABIs改成了如下这样:

armeabi-v7a  ----> arm-linux-android-elf-32bit

arm64-v8a  ----> arm-linux-android-elf-64bit

x86    ---> x86-linux-android-elf-32bit

x86_64    ---> x86_64-linux-android-elf-64bit

 这个修改我不知道在哪改回来,反正构建程序的生成目录没有对应改过来,造成根据Qt Creator ABIs来查找目标文件的构建过程出现错误。

为了解决这个问题,度娘被搞烂了也没辙,狗子鼻子也不灵了,没办法安装老版Qt Creator吧。

嗯,好像8.0.2装上也不顶球用,还提示我环境变量没有设置?滚蛋吧你。

在网上找了个10.0.2版本装上,用维护工具把Android包重新安装一下,启动Qt Creator,打开项目设置,

"构建的步骤"里,点开"qmake"详情,里面熟悉的的四大项出来了。

qt5.15.2 for android,qt

 构建过程终于走到最后了,好想看Qt Creator美女裸奔啊,可惜我魅力还不够啊,只能看着她妖娆的背影绝尘而去。

三、总结

没有,还在折腾它。文章来源地址https://www.toymoban.com/news/detail-828792.html

到了这里,关于Qt for android填坑历程(版本5.15.2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT新版本安装(5.15以上)——Qt 镜像网站——Qt5.15.2镜像安装

    由于QT版本升级到6.以上版本,在线安装可能找会存在找不到到相关想要的版本。如5.15的版本。 解决办法:还采用在线安装的方法,添加版本的镜像路径(URL)的方法进行安装。 在线安装软件连接: 链接:https://pan.baidu.com/s/1sXqYhfHNNmKCzJf4Xdd0Zg?pwd=o2j2  提取码:o2j2 中国科学技

    2024年04月13日
    浏览(40)
  • Qt5.15.2 Webassembly源码裁剪编译

    第一步:      .configure -debug-and-release -opensource -prefix \\\"D:qt-everywhere-srccompFile\\\" -platform win32-g++ -nomake examples 第二步:     mingw32-make -j4 第三步:     mingw32-make install   编译core与gui模块:     C:Qt5.15.2yuanmaqt-everywhere-src-5.15.2qtbasesrcgui     C:Qt5.15.2yuanmaqt-everywhere-src

    2024年02月10日
    浏览(55)
  • Qt5.15.2中加入图片资源

    以前用的Qt5.15.2之前的版本,QtCreator默认的工程文件是*.pro,现在用5.15.2创建工程默认的工程文件是CMameList.txt,当然在创建项目时,仍然可以使用pro工程文件用QtCreator打开CMakeList.txt 以前用习惯了pro文件,现在改成CMakeList很不习惯,现在我们在CMakeList.txt中加入资源文件 1.首先,

    2024年01月22日
    浏览(55)
  • 在线安装Qt(全网最详细图文版)--以Qt5.15.2 Windows版为例

    作者:靠普科技 时间:2023/8/18 版本:V1.0 说明:本文系作者原创,转载前请务必联系本文作者。 接触几年Qt有余,发现部分开发人员对Qt的认识远远不够,仅仅停留在表面。甚至有较少部分人认为Qt是一种开发编程语言或者将QTCreator当做Qt,这些理解都是错误的且过于片面。实

    2024年02月06日
    浏览(51)
  • VS2019+OpenCV+Qt5.15.2安装及工程配置

    目录 一、下载链接 1.1 VS2019下载安装 1.2 OpenCV下载安装 1.3 Qt5.15下载安装 二、工程环境配置 2.1 OpenCV环境配置 2.1.1  环境变量配置 2.1.2 工程属性表配置  2.1.3 重启vs测试  2.2 Qt环境配置 2.2.1 Qt Creator设置  2.2.2 VS2019配置  2.2.3 创建Qt项目 2.2.4 UI 设计配置 该文件仅 1.39 MB,是 VS

    2024年02月16日
    浏览(58)
  • QT5.15.2 在线安装下载速度慢的解决办法

    QT对5.15以及以上版本已经停止提供离线安装包,在线安装网速慢如蜗牛,而且一旦断了又得从头下载,不支持断点续传 由于Qt5.15及以上版本不提供离线安装包,则需要使用在线安装进行安装。首先下载在线安装器: 下载加速需要使用清华源 QT 地址 我宿舍网速是100兆,所以最

    2024年02月13日
    浏览(43)
  • [QT5.15.2] QtCreator不支持中文输入解决方案

    操作系统:优麒麟22.04.2 LTS QT版本:QT5.15.2 这个大家在网上找找,可以很轻松的安装成功。 先安装QtCreator, 安装这块大家可自行网上找找。 成功后,打开QtCreator,新建工程; 打开main.cpp或者其他文件,发现无法输入中文。 网上有很多解决方案,就是将 /usr/lib/x86_64-linux-gnu/qt5/

    2024年02月11日
    浏览(42)
  • jetson-nano编译qt5.15.2带opengl,xcb

    项目需求原因,需要编译高版本qt到jetson-nano板子,历经10天来回折腾,终于是成功了。期间历经交叉编译失败,然后转直接编译,然后尝试各种版本的坑,最后整理的方法异常简单,只需6小时左右即可流畅在板子上编译成功。文章最后有我编译好的qt-5.15.2版本链接。 友情提

    2023年04月09日
    浏览(47)
  • Linux Qt5.15.2 编译QWebEngine源码支持音视频H264

    默认自带的QWebEngine 因版权问题不支持音视频功能,需要自己编译源码以支持。 平台:Linux(UOS V20 1050) Qt:5.15.2 下载 Qt 5.15.2 对应版本源码,使用镜像网站或者Qt Maintenance Tool工具下载。 配置 Qt 环境变量 将以下内容追加到bashrc文件后 刷新使其生效 这个阶段可以预先安装所

    2024年02月05日
    浏览(61)
  • QtCreator12无法识别Qt5.15.2的安卓SDK与NDK配置解决

    解决方法: 设置JDK为JDK11 使用Android Studio下载 Android SDK Command-line Tools 10.0   打开Android SDK Location :   双击打开cmdline-tools 复制10.0中所有东西到latest中   点击Manage Kits并选择Devices   然后点击Android会弹出下图窗口,并自动更 安装完成   成功识别  

    2024年01月18日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包