【Qt】Android上运行keeps stopping, Desktop上正常
文章目录
- 问题 & 背景
- 背景
- 问题
- 解决方案
- One More Thing
- Take Away
问题 & 背景
背景
在文章【Qt】最详细教程,如何从零配置Qt Android安卓环境中,我们在Qt中配置了安卓开发环境,并且能够正常运行。
但笔者在成功配置并完成上述文章之前,也参考过其他博主的配置方案,有些方案中是要求手动下载NDK的。所以笔者的电脑中是有手动下载的Android-NDK-r20b的。
问题
在某次开发中,新建的项目在Windows环境中能够正常运行,但是在安卓环境下会闪退,并弹出如图弹窗:xxxx keeps stopping。
尝试搜索解决方案,尝试后也无法解决问题。

解决方案
笔者在尝试解决问题的过程中发现,新项目启动失败,之前配置好的项目却能够正常运行。
可以推论问题不是由于系统环境造成的,只可能是由代码、CMakeLists.txt或者项目配置造成的。
笔者在这3个方面,分别仔细对比出问题的新项目与正常运行的旧项目。
笔者发现即便代码和CMakeLists.txt完全一样,新项目还是会出问题,那基本可以断定问题出在项目配置上。
笔者又跑去逐项对比项目的配置项:

最终发现,新旧项目在Initial Configuration中的ANDROID_NDK和CMAKE_TOOLCHAIN_FILE两个配置项上是不一样的,新项目指向了手动下载的NDK,旧项目指向了Qt自带的SDK管理器下载的NDK。

新项目指向手动下载的NDK,也是因为在首选项 -> 设备 -> Android中,默认NDK被设置成了手动下载的NDK(可能是笔者之前手残设置的)。

可以把默认NDK设置为Qt自带SDK管理器下载的NDK,防止后续项目也出错

那现在已经创建的项目怎么办?也简单,修改Initial Configuration中的两个配置项,指向正确NDK就可以了:

然后中心configure项目,在运行正常了:

One More Thing
笔者在尝试浮现错误给大家看的时候,Qt Creator又出了幺蛾子:
在Desktop模式下也出问题了,报错:“由于找不到Qt6Core.dll,无法继续执行代码。重新安装程序可能解决此问题”

笔者尝试网上说的把Qt/bin加入环境变量的方式,还是不能解决。
又希望利用和旧项目对比的方式解决这个问题(没错,旧项目又是可以正常运行),但发现新旧项目的代码、CMakeLists.txt以及配置都一模一样……
问题始终存在,绝望之下笔者选择删除build文件夹(一般与项目在同一文件夹,命名结构为build-项目名-Qt_x_x_x_Clang_86_Debug),重启Qt Creator。
问题就莫名解决了……
Take Away
用Qt开发安卓,很多问题都是SDK、NDK造成的,所以一定要记录好使用的SDK、NDK的版本。防止在其他电脑上无法正常运行。
相关文章:
【Qt】Android上运行keeps stopping, Desktop上正常
文章目录 问题 & 背景背景问题 解决方案One More ThingTake Away 问题 & 背景 背景 在文章【Qt】最详细教程,如何从零配置Qt Android安卓环境中,我们在Qt中配置了安卓开发环境,并且能够正常运行。 但笔者在成功配置并完成上述文章…...
算法学习打卡day47|单调栈系列题目
单调栈题目思路 通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。时间复杂度为O(n)。单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元…...
Maven构建OSGI+HttpServer应用
Maven构建OSGIHttpServer应用 官网(https://eclipse.dev/equinox/server/http_in_equinox.php)介绍有两种方式: 一种是基于”org.eclipse.equinox.http”包的轻量级实现,另一种是基于”org.eclipse.equinox.http.jetty”包&#…...
chrome扩展插件常用文件及作用
Chrome扩展通常包含以下常用文件及其作用: manifest.json: 描述了扩展的基本信息,如名称、版本、权限、图标等。定义了扩展的各种组件和功能,包括后台脚本、内容脚本、页面、浏览器动作按钮等。 background.js: 后台脚…...
PdfFactory Pro软件下载以及序列号注册码生成器
PdfFactory Pro注册机是一款针对同名虚拟打印机软件所推出的用户名和序列号生成器。PdfFactory Pro是一款非常专业的PDF虚拟打印软件,通过使用这款注册机,就能帮助用户免费获取注册码,一键激活,永久免费使用。 pdffactory7注册码如…...
jsp康养小镇管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 JSP康养小镇管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&a…...
Android 无操作之后定时退出
android定时器监用户听对页面无操作5分钟退出登录实现 - 简书 private long advertisingTime 600000;///定时结束退出登录10分(分钟)600000毫秒public CountDownTimer countDownTimer;Overrideprotected void onResume() {super.onResume();//启动定时if (isTimedExitApp()) …...
CMS 检测神器:CMSeek 保姆级教程(附链接)
一、介绍 CMSeek(Content Management System Exploitation and Enumeration Toolkit)是一款用于检测和利用网站上可能存在的内容管理系统(CMS)漏洞的开源工具。它旨在帮助安全研究人员和渗透测试人员识别目标网站所使用的CMS&…...
oracle 启动命令以及ORA-01033问题处理、删除归档日志
1 启动数据库:startup 2 关闭数据库:Shutdown immediate 3 查看监听状态:lsnrctl status 4 启动监听:lsnrctl start 5 停止监听:lsnrctl stop 常见问题 1、在服务器重启后会出现,Oracle ORA-01033: ORAC…...
【大模型上下文长度扩展】MedGPT:解决遗忘 + 永久记忆 + 无限上下文
MedGPT:解决遗忘 永久记忆 无限上下文 问题:如何提升语言模型在长对话中的记忆和处理能力?子问题1:有限上下文窗口的限制子问题2:复杂文档处理的挑战子问题3:长期记忆的维护子问题4:即时信息检…...
谷歌seo搜索引擎优化有什么思路?
正常做seo哪有那么多思路,其实就那么几种方法,无非就关键词,站内优化,外链,可以说万变不离其宗,但如果交给我们,你就可以实现其他的思路,或者说玩法 收录可以说是一个网站的基础&…...
腾讯云与IBM共同打造“高性能计算服务解决方案“
腾讯云与IBM共同打造"高性能计算服务解决方案" 腾讯云与IBM达成战略合作,对优势产品及服务进行深度集成,基于腾讯云产品及服务,共同打造"腾讯-IBM混合云与人工智能解决方案"。双方通过更为紧密的嵌入式解决方案的深度合…...
【SparkML实践7】特征选择器FeatureSelector
本节介绍了用于处理特征的算法,大致可以分为以下几组: 提取(Extraction):从“原始”数据中提取特征。转换(Transformation):缩放、转换或修改特征。选择(Selection&…...
LeetCode983. Minimum Cost For Tickets——动态规划
文章目录 一、题目二、题解 一、题目 You have planned some train traveling one year in advance. The days of the year in which you will travel are given as an integer array days. Each day is an integer from 1 to 365. Train tickets are sold in three differen…...
百卓Smart管理平台 uploadfile.php 文件上传漏洞【CVE-2024-0939】
百卓Smart管理平台 uploadfile.php 文件上传漏洞【CVE-2024-0939】 一、 产品简介二、 漏洞概述三、 影响范围四、 复现环境五、 漏洞复现手动复现小龙验证Goby验证 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工…...
项目中常用的一些数据库及缓存
1、常见的开发工具介绍 MySQL: MySQL是一种流行的开源关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,并在后来被Sun Microsystems收购,最终成为Oracle公司的一部分。MySQL广泛用于各种Web应用程序和大型企业应…...
MoE-LLaVA:具有高效缩放和多模态专业知识的大型视觉语言模型
视觉和语言模型的交叉导致了人工智能的变革性进步,使应用程序能够以类似于人类感知的方式理解和解释世界。大型视觉语言模型(LVLMs)在图像识别、视觉问题回答和多模态交互方面提供了无与伦比的能力。 MoE-LLaVA利用了“专家混合”策略融合视觉和语言数据࿰…...
【Java】ArrayList和LinkedList的区别是什么
目录 1. 数据结构 2. 性能特点 3. 源码分析 4. 代码演示 5. 细节和使用场景 ArrayList 和 LinkedList 分别代表了两类不同的数据结构:动态数组和链表。它们都实现了 Java 的 List 接口,但是有着各自独特的特点和性能表现。 1. 数据结构 ArrayList…...
RabbitMQ-4.MQ的可靠性
MQ的可靠性 4.MQ的可靠性4.1.数据持久化4.1.1.交换机持久化4.1.2.队列持久化4.1.3.消息持久化 4.2.LazyQueue4.2.1.控制台配置Lazy模式4.2.2.代码配置Lazy模式4.2.3.更新已有队列为lazy模式 4.MQ的可靠性 消息到达MQ以后,如果MQ不能及时保存,也会导致消…...
编程相关的经典的网站和书籍
经典网站: Stack Overflow:作为全球最大的程序员问答社区,Stack Overflow 汇聚了大量的编程问题和解答,为程序员提供了极大的帮助。GitHub:全球最大的开源代码托管平台,程序员可以在上面共享自己的项目代码…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...
【java】【服务器】线程上下文丢失 是指什么
目录 ■前言 ■正文开始 线程上下文的核心组成部分 为什么会出现上下文丢失? 直观示例说明 为什么上下文如此重要? 解决上下文丢失的关键 总结 ■如果我想在servlet中使用线程,代码应该如何实现 推荐方案:使用 ManagedE…...
多模态学习路线(2)——DL基础系列
目录 前言 一、归一化 1. Layer Normalization (LN) 2. Batch Normalization (BN) 3. Instance Normalization (IN) 4. Group Normalization (GN) 5. Root Mean Square Normalization(RMSNorm) 二、激活函数 1. Sigmoid激活函数(二分类&…...
c++算法学习3——深度优先搜索
一、深度优先搜索的核心概念 DFS算法是一种通过递归或栈实现的"一条路走到底"的搜索策略,其核心思想是: 深度优先:从起点出发,选择一个方向探索到底,直到无路可走 回溯机制:遇到死路时返回最近…...
