当前位置: 首页 > backend >正文

【Qt 学习之路】Qt Android开发环境搭建:Ubuntu的Vmware虚拟机中的踩坑实录

文章目录

  • 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.xdnf.cn/news/15187.html

相关文章:

  • 国产AI linux 桌面安装详解 (deepin 深度)
  • MinIO配置项速查表【五】
  • Pandas:数据变形
  • 零基础入门指南:华为数通认证体系详解
  • 从0开始学习R语言--Day44--LR检验
  • Android simpleperf生成火焰图
  • 炎热工厂救援:算法打造安全壁垒
  • MS1826+MS9332 4K@30Hz HD4×2视频分割器
  • ## SQLITE:多表(子母表)联合查询【DA_Project笔记】
  • 如何将 iPhone 文件传到 Mac?
  • Python七彩花朵
  • 4万亿英伟达,凭什么?
  • 安全监测预警平台的应用场景
  • Linux 下使用 VS Code 远程 GDB 调试 ARM 程序
  • 探索飞算 JavaAI 进阶:解锁高效Java开发的新维度
  • Selenium 自动化实战技巧【selenium】
  • springboot生成pdf方案之dot/html/图片转pdf三种方式
  • PDF 转图助手 PDF2JPG 绿色版:免安装直接用,急处理文件的救急小天使
  • 技术突破与落地应用:端到端 2.0 时代辅助驾驶TOP10 论文深度拆解系列【第九篇(排名不分先后)】
  • GPT和MBR分区
  • 云蝠智能 VoiceAgent重构企业呼入场景服务范式
  • 重学前端004 --- html 表单
  • 从二维到三维:数字孪生如何重塑UI前端设计
  • 【Git】git的回退功能
  • Flutter优缺点
  • 港科大 NMPC 控制下的高效自主导航!SkyVLN:城市环境无人机视觉语言导航与非线性模型预测控制
  • 哪些因素会影响NMR杂质检测的准确性
  • 全面掌控 Claude Code:命令 + 参数 + 快捷键一文全整理(建议收藏)
  • Linux的基础I/O
  • 如何在 PyCharm 批量调整代码缩进?PyCharm 调整代码格式化和代码缩进的快捷键有哪些?