【最全鸿蒙】uni-app 转鸿蒙:从打包失败到商店上架成功全过程

0 阅读14分钟

前言

uViewPro(跨平台UI组件库) 演示应用已经正式上架鸿蒙应用商店,是一款基于uni-app 和 Vue 3 开发的跨平台UI组件库,它提供完整的业务场景演示平台,包含组件库、工具库、模板示例、场景案例等,支持一键复制下载源码,帮助开发者快速上手并体验组件的实际应用价值。

立即体验:uViewPro(跨平台UI组件库)

本文以我uViewPro应用成功上线的案例,详细总结了如何将基于 uni-app + Vue3 + uView Pro 开发的应用打包并发布到华为鸿蒙应用商店(AppGallery)的完整流程。


一.准备工作

1. 确保项目已完成开发

保证你的项目是 uni-app Vue3 的项目,因为 uni-app 鸿蒙仅限于 Vue3 开发,请确保项目已适配。

所以在开始打包之前,确保你的应用已经:

  • ✅ 功能开发完成
  • ✅ 在真机上测试通过
  • ✅ UI/UX 体验良好
  • ✅ 无明显的 Bug 和崩溃问题
  • ✅ 适配了鸿蒙平台特性

2. 准备好应用信息

在打包前,需要准备好以下信息,以我的应用 uViewPro(跨平台UI组件库) 应用为例:

  • 应用名称:uViewPro(跨平台UI组件库)
  • 应用包名:cn.anyup.uviewpro
  • 应用版本号:如 1.0.0
  • 应用图标:建议1024x1024px,PNG 格式,3 MB 以内
  • 应用截图:至少 3 张,建议 5 张,分辨率1080*1920px
  • 应用描述:详细的应用介绍,500 字左右
  • 隐私政策链接:如果应用涉及用户数据收集

3. 准备好开发工具

  • HBuilderX:uni-app 官方开发工具,打包鸿蒙 APP 使用
  • DevEco Studio:HarmonyOS 应用及元服务的开发工具
  • 华为应用市场开发者账号:需要实名认证,开发者认证通过

二. 注册开发者账号

访问 华为开发者联盟官网进行注册。

步骤 1:注册账号

  1. 点击 注册 按钮
  2. 填写邮箱、手机号等信息
  3. 完成邮箱验证

步骤 2:实名认证

注册完成后,需要完成认证才能发布应用。

个人开发者:

  • 需要提供身份证正反面照片
  • 进行人脸识别验证
  • 审核时间:1-3 个工作日

企业开发者:

  • 需要提供营业执照
  • 法人身份证
  • 企业认证授权书
  • 审核时间:3-7 个工作日

重要提示:

  • 实名认证是必须的,否则无法上传应用
  • 建议提前准备好相关证件
  • 认证通过后,会收到邮件通知

三. 创建应用

步骤 1:新增应用

  1. 登录华为开发者联盟
  2. 点击 新建发布新增

24.png

必填信息:

  • 应用类型:选择 HarmonyOS 应用
  • 应用名称:uViewPro(跨平台UI组件库)
  • 应用包名:cn.anyup.uviewpro(必须与 manifest.json 中的一致)
  • 应用分类:应用

18.png

填写应用所属项目,确认:

25.png

步骤 2:填写应用信息

创建应用完成后可编辑应用的基本信息,主要如下:

26.png

  • 语言:简体中文
  • 应用名称:uViewPro(跨平台UI组件库)
  • 应用图标:推荐1024*1024px,3MB以内的png图片,背景透明或纯色
  • 应用分类:按照真实应用功能选择应用分类
  • 应用标签:按照真实应用功能选择主标签,这里我选择工具

四. 创建证书

在打包鸿蒙应用之前,需要创建用于应用签名的证书文件。证书是鸿蒙应用安全分发的基础,确保应用来源可信且未被篡改。

1. 主要证书类型说明

鸿蒙应用发布需要以下四个证书文件:

证书类型文件格式说明
P12文件.p12私钥库文件,包含公钥和私钥,用于对应用进行签名,通过DevEco Studio 申请
CSR文件.csr证书签名请求文件,用于向华为申请正式证书,通过DevEco Studio 申请
CER证书.cer由华为颁发的正式证书文件,验证开发者身份
P7B文件.p7b由华为颁发的签名描述文件(Profile文件),绑定应用包名、证书和发布设备/渠道
申请顺序如下:
  • 在 DevEco Studio 中生成 P12 文件和 CSR 文件
  • 在 AppGallery Connect 中创建证书 和 Profile
  • 在项目中配置证书信息

2. 在 DevEco Studio 中生成 P12 文件和 CSR 文件

步骤 1:在 DevEco Studio 中创建新项目

打开 DevEco Studio,需要创建一个空白项目,主要用于证书的创建和生成,步骤如下:

new.png

选择空白项目即可:

new1.png

填写项目名称和包名,选择鸿蒙 SDK 版本:

new2.png

步骤 2:生成P12证书和CSR文件

DevEco Studio 中选择 Build 菜单下的 Generate Key and CSR

1.png

选择 New 来新增 P12 证书信息

2.png

填写证书信息:

字段说明
别名(Alias)证书别名,如 uviewpro_release
密钥密码设置证书密码,必须记住此密码,后续打包时需要使用
确认密码再次输入密码确认
姓名开发者姓名或公司名称
组织单位部门名称(可选)
组织公司/组织名称
城市/区域所在城市
省份/区域所在省份
国家/地区代码中国填写 CN

如图所示:

3.png

选择 CSR 文件生成目录:

4.png

步骤 3:生成证书文件

填写完成后,点击 Finish 按钮,系统会自动生成以下文件:

  • Certificate.p12 - P12证书文件(保存在指定目录)
  • Certificate.csr - CSR证书请求文件

5.png

⚠️ 重要提示:

  • 妥善保管 Certificate.p12 文件和密码,丢失后无法恢复
  • 建议将证书文件备份到安全位置
  • 密码必须记住,打包和后续更新都需要使用

3. 在 AppGallery Connect 中创建发布证书(CER)

创建好 P12 和 CSR 文件后,接下来需要在华为开发者平台创建证书、APP ID 和 Profile,创建顺序如下:

  • 创建 APP ID
  • 创建证书
  • 创建 Profile

步骤 1:创建应用

如果没有在上一步创建应用,也可以在这里创建。访问 AppGallery Connect 控制台,使用开发者账号登录后,点击新建按钮,先创建应用:

18.png

步骤 2:创建证书

点击 新增证书 按钮:

  1. 填写证书名称(如 uviewpro_release_cert
  2. 选择证书类型:发布证书
  3. 上传之前生成的 Certificate.csr 文件
  4. 点击 提交 按钮

8.png

步骤 3:下载证书文件

证书申请成功后,在证书管理列表中找到刚创建的证书,点击 下载 按钮下载 .cer 证书文件

19.png

4. 在 AppGallery Connect 中创建 Profile 文件(P7B)

Profile 文件是应用的配置文件,用于绑定应用包名、证书和发布渠道。

步骤 1:进入 Profile 管理页面

在 AppGallery Connect 中,点击 Profile添加

步骤 2:填写 Profile 信息

字段说明
应用选择刚才创建的应用
Profile名称uviewpro_release_profile
选择证书选择刚才创建的发布证书
发布类型选择 Release(发布版)

20.png

步骤 3:申请受限权限(如需要)

如果你的应用需要使用受限权限(如相机、通讯录、相册等),需要在 权限 区域勾选对应的权限并提交申请

步骤 4:下载 Profile 文件

Profile 创建成功后,点击 下载 按钮获取 .p7b 文件

21.png

5. 通过 build-profile.json5 配置完整的发布证书信息

在对话框中选择 File - Project - Signing Configs,不要勾选 Automatically generate signature,创建一个名为 release 的配置项。

29.png

完成以上操作后,鸿蒙工程中的 build-profile.json5 文件就包含了完整的发布证书配置信息(在 app.signingConfigs 数组里,name 属性的值是 "release")。

30.png

无论是调试证书还是发布证书,生成的证书资料信息都在鸿蒙工程根目录下的 build-profile.json5 文件中,把这个文件复制到 uni-app 项目的 harmony-configs/build-profile.json5 即可。

6. 通过 HBuilderX 配置证书信息到项目

除了通过在 build-profile.json5 配置,也可以在HBuilderX 中,将下载的证书文件和 Profile 文件配置到 manifest.json 中:

22.png

设置好后,manifest.json 会增加以下代码:

{
  "app-harmony": {
    "distribute": {
      "bundleName": "cn.anyup.uviewpro",
      "signingConfigs": {
        "default": {
          "certpath": "证书路径/certificate.cer",
          "keyAlias": "证书别名",
          "keyPassword": "证书密码",
          "profile": "Profile路径/profile.p7b",
          "signAlg": "SHA256withECDSA",
          "storeFile": "证书路径/certificate.p12",
          "storePassword": "store密码"
        },
        "release": {
          "certpath": "证书路径/certificate.cer",
          "keyAlias": "证书别名",
          "keyPassword": "证书密码",
          "profile": "Profile路径/profile.p7b",
          "signAlg": "SHA256withECDSA",
          "storeFile": "证书路径/certificate.p12",
          "storePassword": "store密码"
        }
      }
    }
  }
}

五. 打包应用

确保通过上述步骤已经将证书相关文件正确生成和配置,接下来可以打包正式应用了:

步骤 1:配置 manifest.json

在 HBuilderX 中打开项目的 manifest.json 文件,配置鸿蒙平台相关设置:

{
  "name": "uViewPro",
  "appid": "__UNI__XXXXX",
  "description": "uView Pro 是一套高质量、跨平台的多端 UI 组件库,内置 80+ 组件与丰富工具库,助力高效开发小程序、H5、App、HarmonyOS 等应用。",
  "versionName": "1.0.0",
  "versionCode": "1",
  "transformPx": false,
  "app-plus": {
    "usingComponents": true,
    "nvueStyleCompiler": "uni-app",
    "compilerVersion": 3,
    "splashscreen": {
      "alwaysShowBeforeRender": true,
      "waiting": true,
      "autoclose": true,
      "delay": 0
    }
  },
  "quickapp": {},
  "mp-weixin": {},
  "mp-alipay": {},
  "mp-baidu": {},
  "mp-toutiao": {},
  "uniStatistics": {},
  "h5": {},
  "vueVersion": "3",
  "app-harmony": {
        "darkmode": true,
        "themeLocation": "theme.json",
        "safearea": {
            "background": "#ffffff",
            "backgroundDark": "#2f0508",
            "bottom": {
                "offset": "none"
            }
        },
        "distribute": {
            "bundleName": "cn.anyup.uviewpro",
            "icons": {
                "foreground": "unpackage/res/icons/1024x1024.png",
                "background": "unpackage/res/icons/1024x1024.png"
            },
            "splashScreens": {
                "startWindowBackground": "#FFFFFF",
                "startWindowIcon": "unpackage/res/icons/1024x1024.png"
            },
            "signingConfigs": {
                "default": {
                    "certpath": "",
                    "keyAlias": "",
                    "keyPassword": "",
                    "profile": "",
                    "signAlg": "",
                    "storeFile": "",
                    "storePassword": ""
                },
                "release": {
                    "certpath": "",
                    "keyAlias": "",
                    "keyPassword": "",
                    "profile": "",
                    "signAlg": "",
                    "storeFile": "",
                    "storePassword": ""
                }
            }
        }
    }
}

关键配置说明:

  • harmony.appid:应用的唯一标识,必须与应用商店中创建的应用包名一致
  • harmony.minSdkVersion:最低支持的 SDK 版本,建议设置为 9(对应 HarmonyOS 5.0)
  • harmony.targetSdkVersion:目标 SDK 版本
  • harmony.compileSdkVersion:编译 SDK 版本

步骤 2:配置应用图标和启动页

manifest.json安卓/iOS图标配置 界面中配置应用图标:

16.png

manifest.json鸿蒙App配置 界面中配置启动页:

15.png

配置好后如下:

{
  "app-plus": {
    "icons": {
      "android": {
            "hdpi": "unpackage/res/icons/72x72.png",
            "xhdpi": "unpackage/res/icons/96x96.png",
            "xxhdpi": "unpackage/res/icons/144x144.png",
            "xxxhdpi": "unpackage/res/icons/192x192.png"
        }
    }
  },
  "app-harmony": {
        "distribute": {
            "bundleName": "cn.anyup.uviewpro",
            "icons": {
                "foreground": "unpackage/res/icons/1024x1024.png",
                "background": "unpackage/res/icons/1024x1024.png"
            },
            "splashScreens": {
                "startWindowBackground": "#FFFFFF",
                "startWindowIcon": "unpackage/res/icons/1024x1024.png"
            }
        }
    }
}

步骤 3:执行打包

在 HBuilderX 中选择 发行App-Harmony-本地打包生成安装包

17.png

注意事项:

  • 务必保存好证书文件
  • 打包过程可能需要 10-30 分钟,请耐心等待
  • 打包成功后,会生成 .app 文件(鸿蒙应用包格式)

步骤 4:获取应用包文件

打包完成后,在控制台中直接输出打包成功的应用目录。

23.png


六. 发布版本

步骤 1:创建应用版本

  1. 在应用详情页,点击 版本信息
  2. 点击 创建版本+版本/升级
  3. 填写版本信息:
    • 版本号:如 1.0.0
    • 版本说明:本次更新的内容
    • 填写应用介绍,维护应用截图或视频

27.png

应用截图要求:

  • 数量:至少 3 ~5 张,建议 5 张
  • 尺寸:最低尺寸(请确保宽高比9:16):1080*1920px
  • 格式:PNG、 JPG、 JPEG (均在 5 MB 以内),以及 WEBP (200 KB 以内)
  • 内容:展示应用的主要功能和界面

步骤 2:上传应用包

  1. 点击 上传应用包
  2. 选择打包好的 .app 文件
  3. 等待上传完成(根据文件大小,可能需要几分钟)

注意事项:

  • 应用包大小限制:不超过 4GB
  • 上传过程中不要关闭页面
  • 上传完成后会自动进行安全检测

步骤 3:填写版本信息

必填信息:

  • 版本号:与 manifest.json 中的版本号一致
  • 版本说明:本次更新的内容,建议详细说明

版本说明示例:

v1.0.0 首次发布

主要功能:
- 完整的 UI 组件库展示
- 丰富的页面模板示例
- 真实业务场景演示
- 代码一键复制下载功能

优化内容:
- 优化应用启动速度
- 提升组件展示性能
- 改善用户体验

步骤 4:设置应用权限

根据应用实际使用的权限,在 应用权限 中声明:

  • 网络访问权限
  • 存储权限(如果需要)
  • 其他必要的权限

重要提示:

  • 只声明实际使用的权限
  • 未声明的权限可能导致审核不通过
  • 权限使用需要在隐私政策中说明

步骤 5:设置隐私政策

如果应用涉及以下情况,需要提供隐私政策(目前好像不收集用户信息也要设置隐私政策):

  • 收集用户个人信息
  • 使用设备权限(相机、位置等)
  • 使用第三方 SDK

隐私政策要求:

  • 必须可公开访问的链接
  • 内容完整,符合相关法律法规
  • 建议使用 HTTPS 链接,可以使用华为隐私托管

七. 应用审核

步骤 1:提交审核

  1. 检查所有信息是否填写完整
  2. 确认应用包上传成功
  3. 点击 提交审核 按钮

28.png

步骤 2:等待审核

审核时间:

  • 一般审核:1-3 个工作日

审核状态:

  • 待审核:已提交,等待审核
  • 审核中:正在审核
  • 审核通过:可以发布
  • 审核不通过:需要修改后重新提交

步骤 3:处理审核反馈

如果审核不通过,会收到审核反馈,可能常见原因:

  1. 功能交互简单,影响用户的总体体验

    • 解决方式:参考《审核指南》第3.5项,丰富应用功能和交互。
    • 困难程度:这是最常见的问题,主观问题,也是最难的,不容易解决,只有不断丰富应用功能和交互。
  2. 功能单一,同质化应用,缺少价值

    • 解决方式:参考《审核指南》第3.7项,新增应用功能亮点。
    • 困难程度:这是最常见的问题,不容易解决,要说明应用亮点,和目前已经上架的应用相比,优势是什么。
  3. 不符合鸿蒙应用UX设计规范

    • 解决方式:根据华为审核员回馈的信息,哪一项不符合就解决哪一项。
    • 困难程度:比较简单,定向功能解决问题。
  4. 隐私政策不符合要求

    • 解决方式:完善隐私政策内容。
    • 困难程度:比较容易,修改或完善隐私政策即可。
  5. 应用功能有问题

    • 解决方式:根据反馈调整应用功能。
    • 困难程度:比较简单。

步骤 4:发布应用

审核通过后:

  1. 在应用详情页点击 发布
  2. 选择发布范围(全量发布或灰度发布)
  3. 确认发布

发布后:

  • 应用会在 1-2 小时内上架
  • 用户可以在应用市场中搜索并下载
  • 可以在控制台查看下载数据和用户反馈

八. 常见问题

Q1: 打包失败怎么办?

可能原因:

  • manifest.json 配置错误
  • 证书问题
  • 网络问题
  • 代码问题

解决方法:

  1. 检查 manifest.json 配置是否正确
  2. 重新创建证书
  3. 检查网络连接,重新打包

Q2: 应用包上传失败?

可能原因:

  • 文件大小超过限制
  • 文件格式不正确
  • 网络问题

解决方法:

  1. 检查应用包大小(不超过 4GB)
  2. 确认文件格式为 .app
  3. 使用稳定的网络环境上传

Q3: 审核不通过怎么办?

解决方法:

  1. 仔细阅读审核反馈
  2. 根据反馈修改应用或信息
  3. 重新提交审核

Q4: 应用上架后如何更新?

更新流程:

  1. 修改代码,更新版本号
  2. 重新打包应用
  3. 在应用市场创建新版本
  4. 上传新的应用包
  5. 提交审核

Q5: 如何查看应用数据?

在 AppGallery Connect 控制台的 数据统计 中可以查看:

  • 下载量
  • 日活用户
  • 用户反馈
  • 崩溃报告

总结

从0到1打包并发布应用到华为鸿蒙应用商店,虽然过程有些复杂,但只要按照流程一步步来,就能顺利完成。

关键步骤回顾:

  1. ✅ 准备应用信息和素材
  2. ✅ 配置 manifest.json
  3. ✅ 注册开发者账号并实名认证
  4. ✅ 创建应用并填写信息
  5. ✅ 打包应用
  6. ✅ 上传应用包
  7. ✅ 提交审核
  8. ✅ 发布应用

希望这篇文章能帮助到想要发布鸿蒙应用的开发者们,祝大家打包成功,上线成功!


📚 相关资源