【UniApp打包鴻蒙APP全流程】如何配置并添加UniApp API所需的鴻蒙系統權限

一、前言:為什么選擇 UniApp 打包鴻蒙應用?

隨著鴻蒙生態的快速發展,越來越多開發者希望將現有跨平臺項目快速接入鴻蒙系統。而 UniApp 作為國內領先的跨平臺開發框架,憑借其“一次開發,多端發布”的特性,成為接入鴻蒙(HarmonyOS)的理想選擇。

本文將基于 Vue3 + UniApp 的項目架構,詳細介紹如何通過 HBuilderX + DevEco Studio 聯合打包,將項目發布為標準的鴻蒙應用(.hap 或 .app 包),并重點講解如何為 UniApp 中使用的 API 添加對應的 鴻蒙系統權限(ohos.permission),確保功能正常運行。

二、開發環境準備

1. 基礎工具
最好保證HBuilderX和DevEco Studio的版本都是最新的
HBuilderX(目前我使用的版本為4.75)
DevEco Studio(目前我使用的版本為5.0.5)
Node.js(16+)

2. 項目基礎
使用 Vue3 語法開發的 UniApp 項目(底層必須使用vue3的語法,vue2不支持)

三、UniApp 項目打包為鴻蒙工程

步驟 1:在 HBuilderX 中生成鴻蒙工程
打開你的 UniApp 項目
點擊菜單欄:運行 > 運行到手機或模擬器(N)> 運行到鴻蒙(H)
在這里插入圖片描述
記得連接鴻蒙設備,并且配置調試證書(調試證書是支持自動生成的,開發階段可以使用,打包發布時需要生成上線證書)
在這里插入圖片描述
點擊“自動申請調試證書”即可,調試證書會自動生成,注意應用包名,這個包名后續在華為開發者聯盟-AppGallery Connect做應用分發的時候會用到,請認真命名!!!
在這里插入圖片描述
點擊“保存”后運行,HBuilderX 會生成一個標準的鴻蒙工程目錄(通常為app-harmony)
在這里插入圖片描述
?? 注意:生成的工程是標準的 HarmonyOS 項目結構,包含 entry/、module.json5、resources 等。

四、使用 DevEco Studio 導入并構建鴻蒙應用

步驟 1:導入工程
打開 DevEco Studio
選擇“Open an existing HarmonyOS project”
選擇 HBuilderX 生成的鴻蒙工程目錄
在這里插入圖片描述
DevEco Studio漢化(安裝漢化插件 Chinese(simplified)),打開項目右上角的設置圖標,找到插件(Plugins),點擊打開
在這里插入圖片描述
在市場搜索Chinese(simplified)安裝后重啟即可
在這里插入圖片描述

五、關鍵:為 UniApp API 添加鴻蒙系統權限

UniApp 在鴻蒙端運行時,部分 API 需要對應的 鴻蒙權限(ohos.permission) 才能正常使用。這些權限需在 module.json5 文件中聲明。
可以參考uniapp提供的鴻蒙APP專題權限配置指南
在這里插入圖片描述
在這里插入圖片描述

六、做APP應用分發

1.首先打開華為開發者聯盟點擊AppGallery Connect,進行應用分發
如果是企業使用,建議先進行企業認證
在這里插入圖片描述

點擊“證書、APP ID和Profile”(我這里是舊版界面,可以切換成新版,新版界面與舊版界面的功能模塊名稱是一致的)
在這里插入圖片描述
可以看我們已經有“調試證書”了,可以生成一個“發布證書”進行軟件上架發布。
在這里插入圖片描述

點擊“新增證書”,證書類型選擇“發布證書”,證書名稱最好規范一些
在這里插入圖片描述
這里還需要csr文件,回到DevEcostudio,在主菜單欄單擊Build > Generate Key and CSR
在這里插入圖片描述
沒有密鑰庫文件,單擊New進行創建
注意選擇好“.p12”文件生成后存放的位置,后續還需要使用(可以創建一個harmony-configs的文件,后續所有的證書文件都可以生成到這個文件夾下)
在這里插入圖片描述
在這里插入圖片描述
選擇已經生成好的文件,填寫密碼和別名,點擊next
在這里插入圖片描述

接著選擇.csr文件生的位置,及填寫csr文件生成之后的名稱。點擊Finish即可
在這里插入圖片描述
在這里插入圖片描述
注意所有生成的文件都統一放在一個文件夾下(我創建的文件夾名稱為“harmony-configs”)

csr文件選擇在harmony-configs文件夾創建的csr文件夾里,點擊finish和確定。這樣我們的csr文件搞定了在上述界面可以選取剛剛的csr,點擊提交即可
在這里插入圖片描述
下載后的cer文件,放在harmony-configs文件夾下的新增文件夾調試
在這里插入圖片描述
2.配置APPID,點擊新增
在這里插入圖片描述
填寫應用名稱和應用包名后點擊下一步
在這里插入圖片描述選擇所屬項目和需要的開發能力,點擊確定
在這里插入圖片描述
這就創建了APPID
在這里插入圖片描述
3.新增應用,填寫名稱、選擇設備類型和UDID
在這里插入圖片描述
UDID獲取方法

在手機、平板、PC/2in1、智能手表上獲取UDID的方法如下:

  1. 在設備上打開USB調試權限。
  2. 使用PC連接設備后,打開命令行工具,進入HDC目錄(一般為:DevEco Studio安裝目錄/sdk/default/openharmony/toolchains),輸入hdc shell bm get --udid命令,獲取設備的UDID。

4.添加profile,選擇應用和profile名稱 ,類型為調試等信息,點擊右上角“添加”,調試Profile申請成功,“Profile”頁面展示Profile信息。點擊“下載”,將生成的p7b文件保存至harmony-configs文件夾,供后續簽名使用。
在這里插入圖片描述
5.文件齊全后就可以回到下列界面,選擇“項目結構”
在這里插入圖片描述
點擊“簽名配置”后并點擊新增,增加一個release的配置用于發版
在這里插入圖片描述
去掉自動生成簽名的勾選,并且從harmony-configs文件夾中選取到對應的文件,填入進去點擊“Apply”即可

在這里插入圖片描述
點擊“Product”,把構建模式改為“release”后點擊“Apply”
在這里插入圖片描述
6.點擊“構建” > 選擇編譯成Hap 或 APP 即可
在這里插入圖片描述
最后構建出來的包都會在這里。
在這里插入圖片描述

至此,前期準備工作已全部完成,我們已成功將 UniApp 項目打包為鴻蒙應用,后續可進入應用的發布階段。

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

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

相關文章

STM32-FreeRTOS快速入門指南(下)

第十一章 FreeRTOS事件標志組 1. 事件標志組簡介 事件標志組與信號量一樣屬于任務間同步的機制,但是信號量一般用于任務間的單事件同步,對于任務間的多事件同步,僅使用信號量就顯得力不從心了。 FreeRTOS 提供的事件標志組可以很好的處理多事…

KTH7812磁編碼器芯片完全支持ABZ和UVW輸出模式

KTH7812磁編碼器芯片完全支持ABZ和UVW輸出模式,具體功能細節如下:🔧 1. ABZ輸出特性 分辨率可編程:支持 4~4096步/圈(對應1~1024個脈沖周期/圈),用戶可通過配置寄存器自定義分辨率。 輸出頻率…

Android為ijkplayer設置音頻發音類型usage

官方文檔 多區音頻路由 | Android Open Source Projecthttps://source.android.google.cn/docs/automotive/audio/audio-multizone-routing?hlzh-cn 背景 車機系統開發多分區(zone)功能,可以實現同一個app通過設置,在不同分…

C++ 循環:從入門到精通的深度解析

《C++ 循環:從入門到精通的深度解析》 目錄 循環的本質與編程價值 三大基礎循環結構詳解 循環控制語句:break與continue的魔法 嵌套循環:構建復雜邏輯的基石 現代C++循環特性(C++11+) 循環性能優化與常見陷阱 實戰案例:算法與工程中的循環應用 面試題深度解析與編程技巧…

| `cat /etc/os-release` | 發行版詳細信息(如 Ubuntu、CentOS) |

在 Linux 或類 Unix 系統中,最簡潔的命令查看操作系統類型是: uname -s? 輸出示例: LinuxDarwin(macOS)FreeBSD 等🔍 說明: uname:顯示系統信息-s:僅顯示操作系統內核名…

Maya 3D建模:點、線、面、創建多邊面

目錄 一 點、線、面 二 創建多邊面 一 點、線、面 鼠標放在模型上 按住鼠標右鍵:就可以選擇點 線 面 shift 加選點線面 ctrl 減選點線面 頂點面:是一個檢查模式,觀察有無錯誤 選擇面,單擊一個面,按住shift鍵 同時…

CXR-LT 2024:一場關于基于胸部X線的長尾、多標簽和零樣本疾病分類的MICCAI挑戰賽|文獻速遞-深度學習人工智能醫療圖像

Title題目CXR-LT 2024: A MICCAI challenge on long-tailed, multi-label, and zero-shotdisease classification from chest X-rayCXR-LT 2024:一場關于基于胸部X線的長尾、多標簽和零樣本疾病分類的MICCAI挑戰賽01文獻速遞介紹CXR-LT系列是一項由社區推動的計劃&a…

拆解本地組策略編輯器 (gpedit.msc) 的界面和功能

我們來詳細拆解本地組策略編輯器 (gpedit.msc) 的界面和功能。打開后,你會看到一個標準的微軟管理控制臺 (MMC) 窗口,主要分為三個部分。 這是一個典型的本地組策略編輯器界面,我們將其分為三個主要部分進行講解: +-----------------------------------------------+----…

[NCTF2019]True XML cookbook

TRY 嘗試XML外部實體注入 <?xml version"1.0" encoding"utf-8" ?> <!DOCTYPE user[<!ENTITY flag SYSTEM "file://./doLogin.php"> ]> <user><username> &flag; </username><password>1</pa…

嵌入式硬件篇---模塊使用

在電子開發、自動化控制等領域&#xff0c;“模塊” 是實現特定功能的標準化組件&#xff08;可以理解為 “功能積木”&#xff09;。不同模塊分工明確&#xff0c;比如有的負責感知環境&#xff08;傳感器&#xff09;&#xff0c;有的負責通信&#xff08;藍牙 / WiFi&#x…

密碼管理中Null 密碼

Null 密碼定義&#xff1a;Null 密碼是指允許用戶或系統賬戶使用空密碼&#xff08;即不輸入任何字符&#xff09;進行登錄或身份驗證的配置。危害&#xff1a;完全繞過身份驗證&#xff1a;這是最嚴重的危害。攻擊者無需破解或竊取任何密碼&#xff0c;只需輸入用戶名并留空密…

git新建項目如何推送到遠程倉庫

? git新建項目如何推送到遠程倉庫 一、遠程代碼庫操作(gitee為例) 1. 建新倉庫 2. 找到地址:這里可以看到用戶名等其他信息 3. 記住地址url(https) 二、本地操作 1. 安裝git 2. 創建項目 3. 在當前項目下打開git bash 4. 添加遠程倉庫 5. 檢查遠程倉庫地址 6. 檢查當前狀…

代碼管理平臺Gitlab如何通過 ZeroNews 實現遠程訪問?

Gitlab介紹1.1 GitLabGitLab 是一個基于 Web 的開源代碼托管平臺&#xff0c;集代碼托管、項目管理、持續集成與持續部署等功能于一身。它采用 Git 作為版本控制系統&#xff0c;界面友好、功能豐富。相較于市場上的 Gitee 和 GitHub&#xff0c;GitLab 有以下優勢&#xff1a;…

基于STM32F103C8T6控制A4988模塊驅動2相4線步進電機

文章目錄一、A4988模塊簡介二、A4988引腳說明三、A4988的Vref電壓調節四、STM32F103C8T6控制A4988驅動2相4線步進電機準備工作引腳接線代碼示例效果展示五、A4988電機驅動板常見問題一、A4988模塊簡介 A4988 是一款功能齊全的微步進電機驅動器&#xff0c;內置轉換器&#xff0…

基于單片機智能晾衣架/智能窗戶/智能窗簾設計

傳送門 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目速選一覽表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目功能速覽 概述 智能晾衣架系統基于單片機設計&#xff0c;融合傳感器技術與物聯網功能&#xff0c;實現衣物的自…

Python爬蟲實戰:研究dark-fantasy,構建奇幻文學數據采集分析系統

1. 引言 1.1 研究背景 奇幻文學作為奇幻文學的重要子類別,融合了哥特式元素與傳統奇幻設定,以其對人性的深刻探索和復雜的道德困境構建,成為當代文學研究的重要對象。與傳統奇幻文學強調英雄主義和光明戰勝黑暗的敘事不同,奇幻往往展現道德邊界、復雜的角色動機和充滿不確…

算法提升樹形數據結構-(線段樹)

今天介紹有關線段樹的相關部分的知識&#xff0c;線段樹是樹的數據結構中十分重要的算法處理思想。1.建立初始樹的條件2.基本框架3.區間修改的相關代碼4.區間查詢的代碼題目描述給定一個長度為 N 的數組 a&#xff0c;其初值分別為 a1?,a2?,...,aN?。現有 Q 個操作&#xff…

java-代碼隨想錄第十四天| 二叉樹層序遍歷相關題目

目錄 102.二叉樹的層序遍歷 107.二叉樹的層次遍歷II 199.二叉樹的右視圖 637.二叉樹的層平均值 429.N叉樹的層序遍歷 515.在每個樹行中找最大值 116.填充每個節點的下一個右側節點指針 117.填充每個節點的下一個右側節點指針II 104.二叉樹的最大深度 111.二叉樹的最小…

C++智能指針詳解:告別內存泄漏,擁抱安全高效

??小新課堂開課了&#xff0c;歡迎歡迎~?? &#x1f388;&#x1f388;養成好習慣&#xff0c;先贊后看哦~&#x1f388;&#x1f388; 所屬專欄&#xff1a;C&#xff1a;由淺入深篇 小新的主頁&#xff1a;編程版小新-CSDN博客 引言&#xff1a;為什么引入智能指針&#…

算法訓練營day57 圖論⑦ prim算法精講、kruskal算法精講

兩種最小生成樹算法講解 prim算法精講 卡碼網53. 尋寶 本題題目內容為最短連接&#xff0c;是最小生成樹的模板題&#xff0c;那么我們來講一講最小生成樹。最小生成樹可以使用prim算法也可以使用kruskal算法計算出來。本篇我們先講解prim算法。 最小生成樹是所有節點的最小連…