如何配置HarmonyOS 5與React Native的開發環境?

配置 HarmonyOS 5 與 React Native 的開發環境需遵循以下步驟

一、基礎工具安裝

  1. ?DevEco Studio 5.0+?

    • 從?HarmonyOS 開發者官網?下載安裝
    • 勾選組件:
      • HarmonyOS SDK (API 12+)
      • ArkTS 編譯器
      • JS/ArkTS 調試工具
      • HarmonyOS 本地模擬器?
  2. ?Node.js 18.17+

    # 安裝后驗證版本
    node -v
    npm -v
    
  3. 需支持 ES2020+ 語法特性?

npx react-native@0.72.5 init MyApp --template react-native-template-harmonyos

必須 ≥0.72.5 以避免線程沖突

二、環境變量配置

macOS/Linux
# 編輯 ~/.bashrc 或 ~/.zshrc
export PATH="/Applications/DevEco-Studio.app/Contents/sdk/default/openharmony/toolchains:$PATH"
export HDC_SERVER_PORT=7035  # 設置hdc調試端口
export CAPI_INCLUDE_PATH="$HARMONY_HOME/napi_sdk"

執行?source ~/.bashrc?生效?

Windows
  1. 系統環境變量?Path?添加:
    {DevEco安裝路徑}\sdk\default\openharmony\toolchains
  2. 新建系統變量:
    • HDC_SERVER_PORT=7035
    • CAPI_INCLUDE_PATH={DevEco安裝路徑}\napi_sdk?

三、鴻蒙專屬模塊集成

  1. ?安裝鴻蒙橋接庫
npm install @ohos/react-native-harmony --save

?2.?鏈接原生模塊

npx react-native link @ohos/react-native-harmony
``` :ml-citation{ref="2,5" data="citationList"}  

四、權限聲明配置

在?entry/src/main/ets/ohos/Ability.json?添加分布式權限:

"requestPermissions": [{"name": "ohos.permission.DISTRIBUTED_DATASYNC"}
]

五、JS引擎優化

在?oh-package.json?添加內存限制:

"jsEngine": {"type": "harmony-jsengine","config": { "memoryLimitMB": 512 }
}

防止多線程死鎖

六、環境驗證

# 檢查hdc連接
hdc list targets# 啟動RN開發服務
npx react-native start# 編譯并運行到設備
npx react-native run-harmonyos

成功運行后設備顯示鴻蒙歡迎界面

常見問題解決

錯誤類型解決方案
hdc command not found檢查環境變量PATH是否包含toolchains路徑
JS線程死鎖確保jsEngine內存限制為512MB
分布式權限缺失在ability.json聲明DISTRIBUTED_DATASYNC
模板初始化失敗強制指定RN版本:@0.72.5

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

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

相關文章

kotlin kmp 副作用函數 effect

在 Kotlin Multiplatform (KMP) Compose 中,“effect functions”(或“effect handlers”)是專門的可組合函數,用于在 UI 中管理副作用。 在 Compose 中,可組合函數應該是“純”的和聲明式的。這意味著它們應該理想地…

3.3.1_1 檢錯編碼(奇偶校驗碼)

從這節課開始,我們會探討數據鏈路層的差錯控制功能,差錯控制功能的主要目標是要發現并且解決一個幀內部的位錯誤,我們需要使用特殊的編碼技術去發現幀內部的位錯誤,當我們發現位錯誤之后,通常來說有兩種解決方案。第一…

【Pandas】pandas DataFrame isna

Pandas2.2 DataFrame Missing data handling 方法描述DataFrame.fillna([value, method, axis, …])用于填充 DataFrame 中的缺失值(NaN)DataFrame.backfill(*[, axis, inplace, …])用于**使用后向填充(即“下一個有效觀測值”&#xff09…

MQTT協議:物聯網時代的通信基石

MQTT協議:物聯網時代的通信基石 在當今快速發展的物聯網(IoT)時代,設備之間的通信變得尤為重要。MQTT(Message Queuing Telemetry Transport)協議作為一種輕量級的消息傳輸協議,正逐漸成為物聯…

Excel 表格內批量添加前綴與后綴的實用方法

我們經常需要為 Excel 表格中的內容統一添加前綴或后綴,例如給編號加“NO.”、給姓名加“會員_”等。手動操作效率低,本文將介紹幾種實用的方法,幫助你快速完成批量添加前綴和后綴的操作。 使用“&”運算符添加前綴或后綴(推…

uniapp 實現騰訊云IM群文件上傳下載功能

UniApp 集成騰訊云IM實現群文件上傳下載功能全攻略 一、功能背景與技術選型 在團隊協作場景中,群文件共享是核心需求之一。本文將介紹如何基于騰訊云IMCOS,在uniapp中實現: 群內文件上傳/下載文件元數據管理下載進度追蹤跨平臺文件預覽 二…

GO協程(Goroutine)問題總結

在使用Go語言來編寫代碼時,遇到的一些問題總結一下 [參考文檔]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函數默認的Goroutine 場景再現: 今天在看到這個教程的時候,在自己的電…

uniapp微信小程序視頻實時流+pc端預覽方案

方案類型技術實現是否免費優點缺點適用場景延遲范圍開發復雜度?WebSocket圖片幀?定時拍照Base64傳輸? 完全免費無需服務器 純前端實現高延遲高流量 幀率極低個人demo測試 超低頻監控500ms-2s???RTMP推流?TRTC/即構SDK推流? 付費方案 (部分有免費額度&#x…

分布式鎖實戰:Redisson vs. Redis 原生指令的性能對比

分布式鎖實戰:Redisson vs. Redis 原生指令的性能對比 引言 在DIY主題模板系統中,用戶可自定義聊天室的背景、圖標、動畫等元素。當多個運營人員或用戶同時修改同一模板時,若沒有鎖機制,可能出現“甲修改了背景色,乙…

C++ 設計模式《復制粘貼的奇跡:小明的原型工廠》

👨?🎓 模式名稱:原型模式(Prototype Pattern) 📖 背景故事 創業初期,小明每天加班寫配送路線、配送策略、營銷套餐。可當業務做大后,他發現大家常常下單“上次那個套餐”—— “老…

【Elasticsearch】映射:fielddata 詳解

映射:fielddata 詳解 1.fielddata 是什么2.fielddata 的工作原理3.主要用法3.1 啟用 fielddata(通常在 text 字段上)3.2 監控 fielddata 使用情況3.3 清除 fielddata 緩存 4.使用場景示例示例 1:對 text 字段進行聚合示例 2&#…

開源 vGPU 方案:HAMi,實現細粒度 GPU 切分

本文主要分享一個開源的 GPU 虛擬化方案:HAMi,包括如何安裝、配置以及使用。 相比于上一篇分享的 TimeSlicing 方案,HAMi 除了 GPU 共享之外還可以實現 GPU core、memory 得限制,保證共享同一 GPU 的各個 Pod 都能拿到足夠的資源。…

PlayDiffusion上線:AI語音編輯進入“無痕時代”

在語音合成與語音編輯領域,一個長期存在的挑戰是如何在修改語音內容的同時,保持原始語音的自然性、連貫性和說話人特征。近日,一款名為 PlayDiffusion 的新型 AI 語音修復模型應運而生,成功實現了這一目標。 PlayDiffusion 是一個…

2025年能源電力系統與流體力學國際會議 (EPSFD 2025)

2025年能源電力系統與流體力學國際會議(EPSFD 2025)將于本年度在美麗的杭州盛大召開。作為全球能源、電力系統以及流體力學領域的頂級盛會,EPSFD 2025旨在為來自世界各地的科學家、工程師和研究人員提供一個展示最新研究成果、分享實踐經驗及…

微信小程序前端面經

一、技術棧與編碼能力(10min) 1. Vue 3 & Composition API Q1:請解釋一下 ref 和 reactive 的區別?你在項目中是如何使用的? 答:ref是包裝一個原始值或對象,通過.value訪問,r…

rknn toolkit2搭建和推理

安裝Miniconda Miniconda - Anaconda Miniconda 選擇一個 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh進行安裝 下面配置一下載源 # 清華大學源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…

WordPress插件:AI多語言寫作與智能配圖、免費AI模型、SEO文章生成

厭倦手動寫WordPress文章?AI自動生成,效率提升10倍! 支持多語言、自動配圖、定時發布,讓內容創作更輕松! AI內容生成 → 不想每天寫文章?AI一鍵生成高質量內容!多語言支持 → 跨境電商必備&am…

Houdini POP入門學習07 - 分組

使用PopGroup可對粒子進行分組操作,并通過表達式從而更靈活的處理粒子行為。 1.創建box作為發射器,連接popnet節點。 2.雙擊進入popnet,添加popwind添加向上風力。現在播放粒子可見粒子向上方移動。 3.添加popgroup進行分組,開啟…

機器學習復習3--模型評估

誤差與過擬合 我們將學習器對樣本的實際預測結果與樣本的真實值之間的差異稱為:誤差(error)。 誤差定義: ①在訓練集上的誤差稱為訓練誤差(training error)或經驗誤差(empirical error&#x…

Docker 鏡像上傳到 AWS ECR:從構建到推送的全流程

一、在 EC2 實例中安裝 Docker(適用于 Amazon Linux 2) 步驟 1:連接到 EC2 實例 ssh -i your-key.pem ec2-useryour-ec2-public-ip步驟 2:安裝 Docker sudo yum update -y sudo amazon-linux-extras enable docker sudo yum in…