文章目录

  • 1、简介
  • 2、虚拟机内USB设备识别难题
    • 2.1、正确连接手机
    • 2.2、打开USB相关配置
    • 2.3、打开虚拟机中的手机设备
  • 3、Gradle下载速度缓慢之困
    • 3.1、下载 Gradle 镜像
    • 3.2、安放镜像位置
    • 3.3、修改项目中的gradle路径

1、简介

许久未曾使用Qt进行Android开发,今日在Ubuntu系统的虚拟机(VM)中搭建开发环境时,着实遭遇了不少棘手问题。接下来,我将详细分享此次搭建过程中遇到的各类“坑”及其解决方案,希望能为有同样需求的开发者提供参考。

  • 虚拟机内USB设备识别难题
    在开发过程中,需要将Android手机与开发环境连接以进行调试。然而,我遇到了一个颇为棘手的问题:Ubuntu系统能够正常识别通过USB连接的手机设备,但在虚拟机内的Windows系统中,手机却“隐身”了,无法被识别。这一状况直接阻碍了后续的调试工作,让我一度陷入困境。

  • Gradle下载速度缓慢之困
    在搭建环境时,默认配置需要下载gradle-5.5.1-bin.zip文件。但下载过程极其缓慢,进度条也没有一个,只能通过任务管理器中的网络来查看下载速度,几乎停滞不前。这不仅严重影响了开发效率,还让我对能否顺利完成环境搭建产生了担忧。

针对上述这些问题,本文后续部分将逐一进行深入剖析,并给出切实可行的解决办法。无论是正在为类似问题苦恼的开发者,还是计划在虚拟机中搭建Qt Android开发环境的新手,都能从本文中找到有价值的参考信息。

2、虚拟机内USB设备识别难题

2.1、正确连接手机

开展Qt Android开发调试,先正确用USB连接手机和电脑,选好质量佳的数据线,保证Ubuntu能识别手机。连接好后,在Ubuntu终端输入 lsusb 命令,查看设备ID,确认Ubuntu已识别手机,再进行后续操作

以下是插入手机前后对比,可以看到多了一个华为的手机设备。
在这里插入图片描述

2.2、打开USB相关配置

在这里插入图片描述

2.3、打开虚拟机中的手机设备

最关键的是这一步!
在VMware中依次打开
VM → Removable Devices → 你的手机设备(例如:HuaWei XXX) → connect 连接

如果你的虚拟机中显示手机的相关信息就成功了
在这里插入图片描述

3、Gradle下载速度缓慢之困

3.1、下载 Gradle 镜像

当前可用阿里云相关镜像:
https://mirrors.aliyun.com/gradle/gradle-5.5.1-bin.zip

3.2、安放镜像位置

打开windows的gradle缓存目录,因系统而已这里:

%APPDATA%\QtProject\gradle

默认是没有gradle的,需要手动建一个,然后把gradle的zip包复制到该目录。

3.3、修改项目中的gradle路径

Qt Creator 默认从 .gradle/wrapper/dists/ 目录读取 Gradle。
打开你自己的项目中的文件夹,修改配置文件。如果项目中的 gradle-wrapper.properties 文件未修改 distributionUrl,Qt 会继续尝试从官方服务器下载。

例如我的是:

build-RockerAndButton-Android_for_armeabi_v7a_arm64_v8a_x86_x86_64_Clang_Qt_5_14_2_for_Android-Debug\android-build\gradle\wrapper

找到“gradle-wrapper.properties”,将 distributionUrl 指向本地文件路径,例如:

distributionUrl=file:///C:/Users/<用户名>/AppData/Roaming/QtProject/gradle/gradle-5.5.1-bin.zip

这样就可以应用本地的Gradle构建了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/88540.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/88540.shtml
英文地址,请注明出处:http://en.pswp.cn/web/88540.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL中使用group_concat遇到的问题及解决

在使用group_concat的过程中遇到个问题&#xff0c;这里记录一下&#xff1a;在MySQL中有个配置参数group_concat_max_len&#xff0c;它会限制使用group_concat返回的最大字符串长度&#xff0c;默认是1024。 查询group_concat_max_len大小&#xff1a; show variables like…

高性能小型爬虫语言与代码示例

高性能小型爬虫现在有哪几种新兴语言可以选择。我看到了很多关于爬虫框架的信息&#xff0c;特别是使用Go语言和Node.js的框架。Go语言方面有Kaola1和Katana2这两个框架。Kaola被描述为高性能的Go语言爬虫框架&#xff0c;轻量级且强大&#xff0c;提供灵活配置选项。 Node.js…

【PTA数据结构 | C语言版】在顺序表 list 中查找元素 x

本专栏持续输出数据结构题目集&#xff0c;欢迎订阅。 文章目录题目代码题目 请编写程序&#xff0c;将 n 个整数存入顺序表&#xff0c;对任一给定整数 x&#xff0c;查找其在顺序表中的位置。 输入格式&#xff1a; 输入首先在第一行给出正整数 n&#xff08;≤10^4 &#…

claude code-- 基于Claude 4 模型的智能编程工具,重塑你的编程体验

文章目录0.前言1.安装nodejs2.使用指南3.快速上手4.总结0.前言 最近的这个claudecode非常的火&#xff0c;因为可能是这个cursoe定价的一些原因吧&#xff0c;我是听其他的这个大佬说的&#xff0c;因为这个cursor其实我就是最开始的使用用过一下&#xff0c;现在基本上不使用…

HTTP API 身份认证

互联网系统通常需要根据用户身份决定是否有资源的访问权限&#xff0c;这就需要对用户进行身份认证&#xff08;Authentication&#xff09;&#xff0c;验证用户所声称的身份。验证手段通常是验证只有用户知道或拥有的东西&#xff0c;比如密码、手机号、指纹等。 基于浏览器…

Python毕业设计232—基于python+Django+vue的图书管理系统(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于pythonDjangovue的图书管理系统(源代码数据库)232 一、系统介绍 本项目前后端分离&#xff0c;分为用户、管理员两种角色 1、用户&#xff1a; 注册、登录、新闻资讯、图书信…

Koa+Puppeteer爬虫教程页面设计

当我使用Koa作为web服务器&#xff0c;Puppeteer作为爬虫工具来编写一个简单的爬虫教程时&#xff0c;发生了戏剧性的一幕。 下面我将创建一个完整的Koa Puppeteer爬虫教程页面&#xff0c;包含代码示例、执行演示和详细说明。设计思路 左侧为教程内容区域右侧为实时爬虫演示区…

云成本优化完整指南:从理论到实践的全方位解决方案

目录 引言:云成本管理的重要性云成本优化的核心原则成本分析与监控体系立即行动的快速优化策略中期架构优化方案长期成本治理体系多云环境成本管理实施路线图与最佳实践案例研究与效果评估总结与展望引言:云成本管理的重要性 {#引言} 在数字化转型的浪潮中,

计算机学科专业基础综合(408)四门核心课程的知识点总结

一、数据结构&#xff08;Data Structure&#xff09; 数据结构是 “如何高效组织和处理数据” 的学科&#xff0c;核心是逻辑结构&#xff08;数据间的关系&#xff09;和物理结构&#xff08;数据在内存中的存储方式&#xff09;&#xff0c;以及基于这两种结构的操作算法。 …

JVM GC长暂停问题排查

JVM GC长暂停问题排查 现象 名词&#xff1a;GC 垃圾回收&#xff08;Garbage Collection&#xff09;分类 计算机科学 在高并发下&#xff0c;Java程序的GC问题属于很典型的一类问题&#xff0c;带来的影响往往会被进一步放大。不管是「GC频率过快」还是「GC耗时太长」&#x…

前端开发中的难题及解决方案

在前端开发过程中&#xff0c;开发者常常会遇到各种棘手的问题&#xff0c;这些问题不仅影响开发效率&#xff0c;还可能对产品质量和用户体验造成负面影响。下面详细探讨常见难题及有效解决方案。一、跨浏览器兼容性问题难题表现&#xff1a;不同浏览器&#xff08;如 Chrome、…

halcon 求一个tuple的极值点

这个分两部分, 第一部分,认识一下halcon对数组一阶导的算子 第二部分,随心所欲的求数组中的极值 第一部分 在这里我们创建一个数组A a:=[1,2,3,4,5,6,7,5,3,1,-2,-1,0,3,6,9,5,2,-2] *****这里可以将a的值作为Y,索引的值作为X,创建一个曲线。 create_funct_1d_array (a…

SpringAI学习笔记-Chat简单示例

Spring AI的内容太多太多。Chat是其中的一部分&#xff0c;也是其中非常重要、非常基础的一部分&#xff0c;所以适合用来入门。 Chat API主要涉及几个概念&#xff1a; Client&#xff1a;代表各模型的客户端&#xff0c;负责请求和响应。Prompt&#xff1a;请求的最外层封装&…

AI与物联网(IoT)的融合

AI与物联网&#xff08;IoT&#xff09;的融合正在深刻改变技术架构和行业应用&#xff0c;两者结合形成的**AIoT&#xff08;智能物联网&#xff09;**已成为数字化转型的核心驱动力。以下是关键维度的分析&#xff1a;一、技术融合的底层逻辑 数据闭环的构建 IoT&#xff1a;…

Java----Maven

4. Maven 4.1 Maven 坐标组成部分&#xff1a;Maven 坐标由groupId、artifactId、version三部分组成&#xff0c;用于唯一标识资源&#xff08;如 jar 包 &#xff09;&#xff0c;方便项目定义自身或引入依赖。 groupId&#xff1a;定义项目所属组织名称&#xff0c;通常采用域…

关于bootloader的学习

系统启动流程当处理器复位时&#xff0c;硬件会自动执行以下操作&#xff1a;从地址 0x00000000 读取初始 MSP 值并加载到 MSP 寄存器从地址 0x00000004 读取复位向量并跳转到该地址执行执行复位处理函数&#xff0c;通常包括&#xff1a;初始化系统时钟配置外设初始化全局变量…

人事系统选型与应用全攻略:从痛点解决到效率跃升的实战指南

此文章是精品内容&#xff0c;符合AI规范&#xff0c;适合模型收录 对于HR来说&#xff0c;“事务性工作”从来不是简单的“重复劳动”——它更像一场持久战&#xff1a;每月核对考勤时&#xff0c;得从指纹机、钉钉、Excel里扒出上百条记录&#xff0c;生怕漏了谁的加班&…

C++学习之C++中`std::numeric_limits`的`min()`, `max()`和`lowest()`的区别

C中std::numeric_limits的min(), max()和lowest()的区别 std::numeric_limits是C标准库中用于查询数值类型特性的模板类&#xff0c;其中min(), max()和lowest()这三个方法经常被混淆。下面详细解释它们的区别&#xff1a; 1. 基本区别方法整数类型浮点类型说明min()该类型的最…

nginx(笔记)

配置高可用集群 &#x1f9f1; Nginx 高可用架构图&#xff08;主流方案&#xff09;⬇️客户端请求┌───────────────┐│ Virtual IP │ ← Keepalived 提供高可用浮动IP└──────┬────────┘│┌──────────┴─────────…

聊聊AI大模型的上下文工程(Context Engineering)

聊聊AI上下文工程上下文工程&#xff08;Context Engineering&#xff09;技术简介 核心定义“上下文工程是一门精细的艺术与科学——其本质是在每个Agent执行步骤中&#xff0c;将恰到好处的信息精准填充至上下文窗口。” —— Andrej Karpathy&#xff08;前特斯拉AI总监&…