02-開發環境搭建與工具鏈

第2課:開發環境搭建與工具鏈

📚 課程目標

  • 掌握DevEco Studio的下載、安裝和配置
  • 熟悉HMS Core(華為移動服務)的使用
  • 了解鴻蒙模擬器與真機調試環境
  • 掌握必備開發工具的使用

🛠? DevEco Studio環境搭建

2.1 下載與安裝

系統要求
  • Windows: Windows 10 64位及以上版本
  • macOS: macOS 10.15及以上版本
  • Linux: Ubuntu 18.04及以上版本
  • 內存: 8GB以上(推薦16GB)
  • 存儲: 10GB以上可用空間
下載步驟
  1. 訪問HarmonyOS開發者官網
  2. 點擊"開發工具" → “DevEco Studio”
  3. 選擇對應操作系統版本下載
  4. 下載完成后運行安裝程序
安裝配置
# 安裝完成后,首次啟動配置
1. 選擇UI主題(推薦深色主題)
2. 配置SDK路徑
3. 安裝必要的SDK組件
4. 配置模擬器路徑

2.2 基礎配置

SDK配置
  • API版本: 選擇最新的API 9或API 10
  • 構建工具: 配置Gradle和構建工具
  • 模擬器: 下載并配置模擬器鏡像
項目配置
// project.json 基礎配置
{"name": "MyHarmonyApp","type": "application","srcEntry": "./ets/entryability/EntryAbility.ets","srcEntry": "./ets/pages/Index.ets"
}

🔧 HMS Core(華為移動服務)

2.3 HMS Core簡介

HMS Core是華為移動服務生態的核心,為鴻蒙應用提供豐富的系統能力。

核心服務
  • 賬號服務:用戶身份認證
  • 推送服務:消息推送
  • 地圖服務:位置服務
  • 支付服務:移動支付
  • 云存儲:數據存儲

2.4 集成配置

添加依賴
// module.json5
{"dependencies": ["@ohos/hms-core": "^6.0.0"]
}
權限申請
// module.json5
{"requestPermissions": [{"name": "ohos.permission.INTERNET","reason": "用于網絡請求","usedScene": {"abilities": ["EntryAbility"],"when": "always"}}]
}

📱 鴻蒙模擬器與真機調試

2.5 模擬器配置

創建模擬器
  1. 打開DevEco Studio
  2. 點擊"Tools" → “Device Manager”
  3. 選擇"Create Device"
  4. 選擇設備類型和系統版本
  5. 配置模擬器參數
模擬器類型
  • 手機模擬器:測試手機應用
  • 平板模擬器:測試平板應用
  • 智慧屏模擬器:測試大屏應用
  • 穿戴設備模擬器:測試穿戴應用

2.6 真機調試

設備準備
  1. 開啟開發者選項
  2. 啟用USB調試
  3. 連接電腦并授權調試
調試配置
# 查看連接設備
hdc list targets# 安裝應用
hdc install -r app-debug.hap# 查看日志
hdc shell hilog

🛠? 必備開發工具

2.7 命令行工具

HDC(HarmonyOS Device Connector)
# 基礎命令
hdc list targets          # 列出設備
hdc shell                 # 進入設備shell
hdc file send             # 傳輸文件
hdc file recv             # 接收文件
hdc install               # 安裝應用
hdc uninstall             # 卸載應用
常用調試命令
# 查看應用日志
hdc shell hilog | grep "MyApp"# 查看系統信息
hdc shell cat /proc/version# 查看應用進程
hdc shell ps | grep "MyApp"

2.8 Git版本控制

初始化項目
# 創建Git倉庫
git init# 添加遠程倉庫
git remote add origin <repository-url># 首次提交
git add .
git commit -m "Initial commit"
git push -u origin main
分支管理
# 創建功能分支
git checkout -b feature/new-feature# 合并分支
git checkout main
git merge feature/new-feature# 刪除分支
git branch -d feature/new-feature

2.9 包管理工具

npm/yarn配置
// package.json
{"name": "my-harmony-app","version": "1.0.0","dependencies": {"@ohos/hypium": "^1.0.0"},"devDependencies": {"@ohos/hvigor": "^1.0.0"}
}
安裝依賴
# 使用npm
npm install# 使用yarn
yarn install# 安裝特定版本
npm install @ohos/hypium@1.0.0

🎯 實踐練習

2.10 環境搭建練習

任務1:安裝DevEco Studio
  1. 下載并安裝DevEco Studio
  2. 配置開發環境
  3. 創建第一個Hello World項目
任務2:配置模擬器
  1. 創建手機模擬器
  2. 運行Hello World應用
  3. 熟悉模擬器操作
任務3:命令行工具使用
  1. 安裝HDC工具
  2. 連接模擬器
  3. 執行基礎命令

🚨 常見問題與解決方案

2.11 安裝問題

  • 問題:安裝過程中卡住

  • 解決:檢查網絡連接,使用VPN或鏡像源

  • 問題:SDK下載失敗

  • 解決:更換下載源,檢查防火墻設置

2.12 運行問題

  • 問題:模擬器啟動失敗

  • 解決:檢查虛擬化設置,更新顯卡驅動

  • 問題:應用安裝失敗

  • 解決:檢查簽名配置,清理緩存

📚 擴展資源

2.13 官方文檔

  • DevEco Studio使用指南
  • HMS Core集成指南
  • 真機調試指南

2.14 社區資源

  • 華為開發者社區
  • 鴻蒙開發者論壇
  • GitHub開源項目

下一課預告:第3課 - 鴻蒙架構與編程模型

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/94454.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/94454.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/94454.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

刪掉一個元素以后全為1的最長子數組-滑動窗口

1493. 刪掉一個元素以后全為 1 的最長子數組 - 力扣&#xff08;LeetCode&#xff09; Solution #include<iostream> #include<vector> using namespace std;class Solution { public://滑動窗口//動態維護一個窗口&#xff0c;窗口內只能有1個0&#xff0c;記錄窗…

【計算機網絡 | 第8篇】編碼與調制

文章目錄通信系統中的編碼與調制&#xff1a;從信道基礎到信號傳輸技術一、信道與通信電路&#x1f342;二、三種基本通信方式&#x1f4d6;1. 單向通信&#xff08;單工通信&#xff09;2. 雙向交替通信&#xff08;半雙工通信&#xff09;3. 雙向同時通信&#xff08;全雙工通…

當AI遇上終端:Gemini CLI的技術魔法與架構奧秘

"代碼不僅僅是指令的集合&#xff0c;更是思想的載體。當AI與終端相遇&#xff0c;會碰撞出怎樣的火花&#xff1f;" 在這個AI技術日新月異的時代&#xff0c;Google推出的Gemini CLI無疑是一顆璀璨的明星。它不僅僅是一個命令行工具&#xff0c;更是一個將人工智能無…

ViLU: Learning Vision-Language Uncertainties for Failure Prediction

研究方向&#xff1a;Image Captioning1. 論文介紹本文提出ViLU&#xff08;Vision-Language Uncertainties&#xff09;&#xff0c;一個用于學習視覺語言不確定性量化&#xff08;UQ&#xff09;和檢測視覺語言模型故障的事后框架。使用VLMs進行量化&#xff08;UQ&#xff0…

數據集筆記:百度地圖高德地圖坐標互轉

1 為什么會有高德坐標系和百度坐標系&#xff1f;根據《測繪法》和國家保密法規&#xff0c;在中國大陸范圍內的地理坐標數據必須做加密處理&#xff0c;不允許直接使用 WGS84&#xff08;openstreetmap&#xff09;所以出現了GCJ-02 和 BD-09高德、騰訊、谷歌中國都遵循 GCJ-0…

SkyWalking高效線程上下文管理機制:確保調用鏈中traceId來自同一個請求

SkyWalking Agent 能確保獲取到“正確”的 traceId,其核心在于它建立并維護了一套高效的線程上下文管理機制。這套機制確保了即使在復雜的多線程、異步環境下,也能將正確的上下文(包含 traceId)與當前正在執行的代碼邏輯關聯起來。 其工作原理可以概括為下圖所示的流程: …

Kafka-Eagle安裝

目錄Eagle環境安裝Mysql環境準備Kafka環境準備Eagle安裝Kafka-Eagle框架可以監控Kafka集群的整體運行情況&#xff0c;在生產環境中經常使用 Eagle環境安裝 Mysql環境準備 Eagle的安裝依賴于Mysql&#xff0c;Mysql主要用來存儲可視化展示的數據 將mysql文件夾及里面所有內…

Matlab系列(005) 一 歸一化

目錄1、前言2、什么是歸一化&#xff1f;3、為什么要進行歸一化4、歸一化方法詳解與Matlab實現5、總結1、前言 ? ??歸一化技術是數據預處理的核心環節&#xff0c;本文將深度解析主流歸一化方法&#xff0c;提供可復現Matlab代碼&#xff0c;并探討其在各領域中的應用場景。…

【K8s】整體認識K8s之namespace

命名空間將資源劃分為相互隔離的組。kubectl get namespace/ns系統默認創建四個namespace&#xff0c;分別是default、kube-node-lease、kube-public、kube-system。default 沒有指明使用其它命名空間的對象所使用的默認命名空間、kube-system 系統創建對象所使用的命名空間。…

rust語言 (1.88) egui (0.32.1) 學習筆記(逐行注釋)(十八) 使用表格

使用表格egui_extras::TableBuilder // Cargo.toml [dependencies] eframe "0.32.1" egui "0.32.1" egui_extras "0.32.1"egui_extras::Column::auto() 列寬根據內容自動計算.resizable(true) 允許用戶手動拖動調整列寬 fn main() -> efra…

【C#】構造函數實用場景總結

文章目錄前言一、構造函數是什么&#xff1f;二、構造函數的用法1.初始化對象&#xff0c;避免無效狀態2 初始化靜態成員3 構造函數重載4.構造函數鏈5. 單例模式&#xff0c;多次實例化保持一個對象6. 依賴注入7. 初始化只讀對象前言 構造函數是我們平常編程里經常能碰到的老伙…

LLM預訓練架構全解析:從零構建一個語言世界的“操作系統”

導讀&#xff1a;作為開發者&#xff0c;我們每天都在import或#include各種庫&#xff0c;我們信任這些由無數代碼構成的底層依賴。那么&#xff0c;當我們調用一個LLM時&#xff0c;它所依賴的那個更底層的、無形的**“語言操作系統”**&#xff0c;又是如何被“編譯”出來的&…

Linux服務測試題(DNS,NFS,DHCP,HTTP)

一&#xff0c;實驗拓撲&#xff1a;二&#xff0c;需求APPSRV&#xff1a;主機名&#xff1a;appsrv.example.comip地址&#xff1a;192.168.100.10網關&#xff1a;192.168.100.254網卡為NAT模式STORAGESRV&#xff1a;主機名&#xff1a;storagesrv.example.comip地址&#…

DevOps 簡介及就業前景

DevOps 簡介及就業前景 目錄 DevOps簡介核心概念重難點解析具體場景使用就業前景學習路徑最佳實踐 DevOps簡介 什么是DevOps DevOps是Development&#xff08;開發&#xff09;和Operations&#xff08;運維&#xff09;的組合詞&#xff0c;是一種軟件開發和IT運維的文化…

《CF1120D Power Tree》

題目描述 給定一棵有 n 個頂點的有根樹&#xff0c;樹的根為頂點 1。每個頂點都有一個非負的價格。樹的葉子是指度為 1 且不是根的頂點。 Arkady 和 Vasily 在樹上玩一個奇怪的游戲。游戲分為三個階段。第一階段&#xff0c;Arkady 購買樹上的一些非空頂點集合。第二階段&…

CPTS-Agile (Werkzeug / Flask Debug)

枚舉 nmap -sC -sV -T4 -Pn -n -p- 10.10.11.203進行常規的網頁枚舉和測試發現報錯信息&#xff0c;‘Werkzeug / Flask Debug’ 測試Export導出功能發現存在路徑遍歷查看這篇文章 https://book.hacktricks.wiki/zh/network-services-pentesting/pentesting-web/werkzeug.html#…

【網絡運維】Shell 腳本編程:while 循環與 until 循環

Shell 腳本編程&#xff1a;while 循環與 until 循環 循環結構簡介 循環語句是 Shell 腳本中用于重復執行一條或一組指令的重要工具&#xff0c;直到滿足特定條件時停止執行。Shell 腳本中常見的循環語句包括 while、until、for 和 select。本文將重點介紹 while 和 until 兩種…

LLM 中評價指標與訓練概要介紹

在【LLM】LLM 中增量解碼與模型推理解讀一文中對 LLM 常見名詞進行了介紹&#xff0c;本文會對 LLM 中評價指標與訓練概要進行介紹&#xff0c;本文并未介紹訓練實操細節&#xff0c;未來有機會再了解&#xff5e; 一、LLM 如何停止輸出 在看 LLM 評價指標前&#xff0c;先看…

Java 20 新特性及具體應用

目錄 1. 模式匹配 for switch&#xff08;預覽特性&#xff09; 2. 記錄模式&#xff08;預覽特性&#xff09; 3. 外部函數與內存 API&#xff08;預覽特性&#xff09; 4. 矢量 API&#xff08;孵化器特性&#xff09; 5. 作用域值&#xff08;預覽特性&#xff09; 6. …

【STM32】CubeMX(十一):FreeRTOS任務掛起與解掛

這篇文章是 STM32 HAL FreeRTOS 下的任務掛起與恢復機制&#xff0c; 結合 CubeMX 圖示與代碼&#xff0c;構建了一個 FreeRTOS 控制示例。 本篇目標&#xff1a;創建兩個任務&#xff1a; 一個控制藍燈閃爍&#xff08;myTask01&#xff09; 另一個監控按鍵&#xff08;Start…