HarmonyOS 鸿蒙Next应用打包与发布
HarmonyOS 鸿蒙Next应用打包与发布 HarmonyOS 应用的打包格式是什么?HAP 和 APP 包有什么区别?如何配置应用的签名?如何进行代码混淆保护?如何配置应用的版本号和更新策略?发布到应用市场需要注意哪些事项?(问题来源项目案例整理:https://github.com/heqiyuan35-creator/HydroQuiz.git)
您好,请参考:应用审核指南-审核政策-应用市场 - 华为HarmonyOS开发者
发布HarmonyOS应用-发布应用-AppGallery Connect(HarmonyOS 5及以上) - 华为HarmonyOS开发者
更多关于HarmonyOS 鸿蒙Next应用打包与发布的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS 应用打包和发布涉及多个配置环节。
包格式说明:
- HAP (Harmony Ability Package):模块级别的包,一个应用可以包含多个 HAP
- APP:应用级别的包,包含所有 HAP,用于上架应用市场
签名配置:
// build-profile.json5
{
"app": {
"signingConfigs": [
{
"name": "release",
"type": "HarmonyOS",
"material": {
"certpath": "签名证书路径.cer",
"storePassword": "密钥库密码",
"keyAlias": "密钥别名",
"keyPassword": "密钥密码",
"profile": "发布profile路径.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "密钥库路径.p12"
}
}
]
}
}
代码混淆配置:
// entry/obfuscation-rules.txt
-enable-property-obfuscation
-enable-toplevel-obfuscation
-enable-filename-obfuscation
-enable-export-obfuscation
# 保留规则
-keep-property-name
title
content
id
版本配置:
// AppScope/app.json5
{
"app": {
"bundleName": "com.example.hydroquiz",
"vendor": "何启源",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name"
}
}
发布注意事项:
- 确保所有权限都有合理的使用说明
- 准备应用截图和描述文案
- 测试不同设备的兼容性
- 检查隐私政策和用户协议
- 确保应用图标和名称符合规范
HarmonyOS NEXT应用打包使用HAP格式,通过DevEco Studio构建生成。发布流程需在AppGallery Connect平台完成,包括应用信息配置、证书签名、测试版本上传及审核发布。
关于HarmonyOS Next应用打包与发布的要点如下:
1. 应用打包格式
HarmonyOS应用的标准发布格式是HAP(Harmony Ability Package)。一个应用由一个或多个HAP组成,最终打包成**APP包(Application Package)**进行分发。APP包是HAP的容器,用于应用商店的发布和安装。
2. HAP与APP包的区别
- HAP:是功能模块包,包含代码、资源、库文件和配置文件,可独立编译和部署。
- APP包:是完整的应用包,包含一个或多个HAP,以及描述应用整体信息的
pack.info文件。用户从应用市场下载安装的是APP包。
3. 应用签名配置
在项目的build-profile.json5文件中配置签名信息。需提前通过DevEco Studio生成密钥和证书请求文件,并在AGC(AppGallery Connect)申请应用签名证书。配置示例如下:
"signingConfigs": [{
"name": "release",
"material": {
"certpath": "release.p12",
"storePassword": "your_password",
"keyAlias": "your_alias",
"keyPassword": "your_key_password",
"profile": "release.p7b",
"signAlg": "SHA256withECDSA"
}
}]
4. 代码混淆保护
在build-profile.json5中启用混淆,并在项目根目录添加proguard-rules.pro文件定义混淆规则:
"buildTypes": [{
"name": "release",
"proguard": {
"enabled": true,
"rules": "./proguard-rules.pro"
}
}]
5. 版本号与更新策略
- 版本号:在
module.json5中配置versionCode(整型,内部版本号)和versionName(字符串,用户可见版本号)。 - 更新策略:在AGC控制台配置应用的升级方式(静默更新、提示更新等),并确保新版本号大于旧版本。
6. 发布到应用市场注意事项
- 确保应用符合《华为应用市场审核规范》。
- 在AGC完成应用信息、隐私声明、测试账号等配置。
- 使用发布证书签名APPP包。
- 提交前进行真机测试,确保核心功能正常。
- 关注AGC的审核状态,及时处理反馈问题。
以上流程基于HarmonyOS Next当前规范,具体操作请以官方文档为准。

