对Android 说Hello ——Qt For Android

news/2024/12/2 15:39:00/

1. Qt 安卓环境搭建 

平台:Qt5.15.2

官网教程:

Getting Started with Qt for Android | Qt 5.15

 网上的教程:

qt5.15.2配置android_加油吧,小杜的博客-CSDN博客

 注意 :注意ndk的路径中不能有空格我之前默认是安装在“C:\Program Files (x86)”下的位置,这个好像是 Qt Creator 根据Android SDK的位置自动装的,就是因为它装的,可能内部没有检查路径,就直接写上了。然后,我在用qmake编译的时候,报错:

:-1: error: Project ERROR: Cannot run target compiler 'C:\Program Files (x86)\Android\android-sdk\ndk\25.1.8937393/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++'. Output:
===================
===================
Maybe you forgot to setup the environment?

2. 部署

2.1. 部署到模拟器(安卓虚拟机)

2.1.1  添加模拟器

模拟器的添加可以使用Qt,也可以使用Android SDK带的 AVD Manager.exe,需要注意的是架构(ABI)是否与构建时选的ABI匹配,还有目标API是否相同。

Qt添加模拟器图示

 

 在【项目-构建】里设置ABI 和构建平台SDK(没有对应的SDK,可在SDK Manager.exe中下载)

AVD Manager添加模拟器图示:

 

 通过以上方式添加后,可在设备中查看

2.1.2 部署到设备

先选择部署到的设备:点击左下角的手机图标,选择需要部署的设备(如下图);右键项目,选择部署,部署的进度条走完,就是已经部署到设备了,就可查看到。

2.1.3. 在模拟器上显示

2.2. 部署到真机

无线连接设备

在同一个局域网,可通过无线进行连接设备。在此之前,需要先打开手机的开发者模式,和无线调试的开关,里面可查看IP和端口号。在设置好这些后,使用adb命令连接设备,具体如下:

1. 将命令行定位到Android SDK下的platform-tools下,可以看到有工具adb.exe,

2.输入命令 (ip 和 port 为安卓设备对应的地址和端口号)

adb connect ip:port 

3.实际操作图如下

3. 在过程中参考的文章

3.1. 模拟器硬件加速

我在用模拟器测试的时候用到了加速,速度确实快了,在sdk里下载后,还需找到位置安装一下,

可参考位置E:\ProgramFiles\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

Android Studio ERROR: x86 emulation currently requires hardware acceleration!报错解决傻瓜教程~..._WGH100817的博客-CSDN博客

3.2. 版本的选择

在刚开始的时候可能搞不清ABI 和CPU是如何选择的,可参考下面的文章。

Qt for Android——关于版本的选择(ABI和CPU版本)_qt 部署设备“pixel_3a_api_33_x86_64”不支持套件架构。 套件支持“armea_Embrace丶me的博客-CSDN博客

ABI的介绍

Android ABI_android_abi_清风徐来辽的博客-CSDN博客


http://www.ppmy.cn/news/78611.html

相关文章

一、尚医通预约下单

文章目录 一、预约下单1、需求分析1.1订单表结构1.2下单分析 2、搭建service-order模块2.1 搭建service-order模块2.2 修改配置2.3 启动类2.4配置网关 3、添加订单基础类3.1 添加model3.2 添加Mapper3.3 添加service接口及实现类3.4 添加controller 4、封装Feign调用获取就诊人…

CPU和GPU前端的应用

1、CPU(英文Central Processing Unit 中央处理器) CPU(中央处理器)是一种通用的处理器,其主要任务是执行计算机程序中的指令和序列。它能够处理复杂的逻辑判断、分支、跳转、内存访问等操作,因此在执行大多…

面试:CSS清除浮动的方式

添加额外标签 <div class"parent">//添加额外标签并且添加clear属性<div style"clear:both"></div>//也可以加一个br标签 </div> 父级添加overflow属性&#xff0c;或者设置高度建立伪类选择器清除浮动 //在css中添加:after伪元素…

「 计算机网络 」TCP的粘包拆包问题

「 计算机网络 」TCP的粘包/拆包问题 参考&鸣谢 大病初愈&#xff0c;一分钟看懂TCP粘包拆包 雷小帅 TCP 的粘包拆包以及解决方案 一乐说 文章目录 「 计算机网络 」TCP的粘包/拆包问题一、前言二、为什么UDP没有粘包三、粘包拆包发生场景四、常见的解决方案五、Netty对粘包…

爬虫Requests库是什么,怎么用?

Requests库是Python中一个非常流行的HTTP请求库&#xff0c;它可以方便地发送HTTP请求并处理响应。在本文中&#xff0c;我们将介绍Requests库的基本用法&#xff0c;包括发送GET和POST请求、设置请求头、处理响应等。 一、安装Requests库 在使用Requests库之前&#xff0c;我…

C++入门篇---(命名空间、缺省参数、以及输入、输出)

前言 c 我来了,恭喜牛牛解锁新世界.开启c的学习之旅. &#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f349;本篇简介:>:讲解C…

Why Rust Android

Android Rust https://source.android.google.cn/docs/setup/build/rust/building-rust-modules/overview?hlzh-cn 像Java和Kotlin这样的托管语言是Android应用程序开发的最佳选择。这些语言旨在实现易用性、可移植性和安全性。Android 运行时 &#xff08;ART&#xff09; …

k8s pv pvc的介绍|动态存储|静态存储

k8s pv pvc的介绍|动态存储|静态存储 1 emptyDir存储卷2 hostPath存储卷3 nfs共享存储卷4 PVC 和 PVNFS使用PV和PVC 4 搭建 StorageClass NFS&#xff0c;实现 NFS 的动态 PV 创建 1 emptyDir存储卷 当Pod被分配给节点时&#xff0c;首先创建emptyDir卷&#xff0c;并且只要该…