【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 项目打包为鸿蒙应用,后续可进入应用的发布阶段。

相关推荐
2501_9159184115 小时前
除了 Perfdog,如何在 Windows 环境中完成 iOS App 的性能测试工作
android·ios·小程序·https·uni-app·iphone·webview
行者9615 小时前
Flutter跨平台开发:安全检测组件适配OpenHarmony
flutter·harmonyos·鸿蒙
丢,捞仔15 小时前
uni-app上架应用添加权限提示框
前端·javascript·uni-app
小雨下雨的雨15 小时前
Flutter 框架跨平台鸿蒙开发 —— GridView 控件之多维网格美学
flutter·华为·交互·harmonyos·鸿蒙系统
小雨下雨的雨16 小时前
Flutter跨平台开发实战: 鸿蒙与循环交互艺术:无限循环的 Banner 引擎
flutter·ui·华为·交互·harmonyos·鸿蒙系统
奋斗的小青年!!16 小时前
Flutter与鸿蒙深度融合:打造物理引擎驱动的3D卡片交互体验
flutter·3d·harmonyos·鸿蒙
lili-felicity16 小时前
React Native 鸿蒙跨平台开发:Animated 实现鸿蒙端组件的旋转 + 缩放组合动画
react native·react.js·harmonyos
夏小鱼的blog17 小时前
【HarmonyOS应用开发入门】第六期:状态管理V2入门 - 2
harmonyos·状态管理
雪芽蓝域zzs17 小时前
uniapp富文本rich-text
uni-app
小学生波波17 小时前
HarmonyOS6 - 图片保存到图库中的两种方式
华为·harmonyos·arkts·鸿蒙·harmonyos6