【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.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總監&…