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

文章目录

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缓存目录,因系统而已这里:

bash 复制代码
%APPDATA%\QtProject\gradle

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

3.3、修改项目中的gradle路径

Qt Creator 默认从 .gradle/wrapper/dists/ 目录读取 Gradle。

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

例如我的是:

bash 复制代码
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 指向本地文件路径,例如:

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

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

相关推荐
へ蟲児.4 小时前
2026三大自带完整体系的英语学习App深度测评:哪款更适合儿童启蒙?
学习
苦猿的大模型日记4 小时前
Day64|从0学习 Claude Code(十四):MCP,给 Agent 装个工具插座
学习
方白羽4 小时前
Android APK安全防护
android·安全·apk
实心儿儿4 小时前
Qt — Qt 多线程
开发语言·qt
小黄人软件4 小时前
AndroidStudio老项目 macOS运行BlueTooth蓝牙串口助手(Android+Studio源码).rar
android·macos
00后程序员张4 小时前
苹果App Store上架指南:费用、原理与步骤详解
android·ios·小程序·https·uni-app·iphone·webview
天神哥哥啊4 小时前
cocos联调注意事项-安卓
android
TDengine (老段)5 小时前
TDengine TSDB 实战排障四(升级与兼容)
android·java·大数据·数据库·物联网·时序数据库·tdengine
m4Rk_5 小时前
【论文阅读】Agent 记忆机制(82):ReasoningBank——从成功与失败经验中沉淀可复用的推理记忆
论文阅读·人工智能·学习·开源·github
蓝速科技5 小时前
政务自助终端信创选型与无人值守落地方案
android·大数据·数据库·人工智能·科技·技术分享·政务