鸿蒙应用打包上架流程

鸿蒙(HarmonyOS)作为华为自主研发的操作系统,近年来引起了开发者和用户的广泛关注。如何开发一款鸿蒙应用并成功上架到华为应用市场,成为许多开发者迫切想要了解的话题。本文将以简洁易懂的方式,带你完成从应用打包到成功上架的全流程。


第一步:准备工作

在开始打包之前,需要完成以下准备:

  1. 开发环境配置

    • 确保安装了 DevEco Studio,这是开发鸿蒙应用的官方 IDE。
    • 配置 JDK(推荐 1.8 版本)、Node.js 和 npm 环境。
    • 下载鸿蒙 SDK 并在 DevEco Studio 中正确添加。
  2. 开发者账号注册

  3. 应用信息准备

    • 确保已经在"应用管理"中创建了你的应用,并填写了基本信息(名称、简介、图标等)。
    • 准备好应用的隐私政策文件,这是上架必需项。

第二步:应用打包

应用打包是将你的代码转换为可以运行的安装包(.hap 或 .app)。以下是关键步骤:

1. 配置打包参数

在 DevEco Studio 中:

  • 打开 build.gradle 文件,设置应用的 applicationId 和版本信息:

    gradle 复制代码
    applicationId "com.example.myapp"
    versionCode 1
    versionName "1.0.0"
  • 确保使用了正确的签名配置:

    • build-profile.json5 文件中,填写签名证书的路径和密码。

    示例配置如下:

    json 复制代码
    "signingConfigs": [
      {
        "name": "default",
        "type": "HarmonyOS",
        "material": {
          "certpath": "path/to/cert.cer",
          "storePassword": "your_store_password",
          "keyAlias": "debugKey",
          "keyPassword": "your_key_password",
          "profile": "path/to/profile.p7b",
          "signAlg": "SHA256withECDSA",
          "storeFile": "path/to/keystore.p12"
        }
      },
      {
        "name": "release",
        "type": "HarmonyOS",
        "material": {
          "certpath": "path/to/release_cert.cer",
          "storePassword": "release_store_password",
          "keyAlias": "releaseKey",
          "keyPassword": "release_key_password",
          "profile": "path/to/release_profile.p7b",
          "signAlg": "SHA256withECDSA",
          "storeFile": "path/to/release_keystore.p12"
        }
      }
    ],
    "products": [
      {
        "name": "default",
        "signingConfig": "release",
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "buildOption": {
          "strictMode": {
            "caseSensitiveCheck": true,
            "useNormalizedOHMUrl": true
          }
        }
      }
    ]

2. 生成密钥和证书请求文件

在 DevEco Studio 中,依次执行以下步骤:

  1. 菜单选择 Build > Generate Key and CSR
  2. 在弹出的对话框中:
    • Key Store File :选择已有密钥库文件(.p12 文件),或者点击 New 新建。
    • 如果新建:
      • 填写密钥库文件的路径和名称。
      • 设置密钥库密码(至少包含大写字母、小写字母、数字和特殊符号中的两种,长度不小于 8 位)。
    • 点击 OK,生成密钥库文件。
  3. 填写密钥信息:
    • Alias:密钥别名,用于标识密钥。
    • Password:密钥密码,与密钥库密码一致。
    • Validity:证书有效期(建议设置为 25 年或以上)。
    • 证书基本信息如组织、城市、国家码等。
  4. 指定 CSR 文件存储路径并命名,点击 Finish

完成后,会生成 .p12 文件(密钥库文件)和 .csr 文件(证书请求文件)。

3. 申请发布证书

  1. 登录 AppGallery Connect
  2. 在左侧导航栏选择"用户与访问 > 证书管理"。
  3. 点击"新增证书",上传刚生成的 .csr 文件并填写相关信息。
  4. 提交后,下载生成的 .cer 文件(发布证书)。

4. 配置签名信息

  1. 打开 DevEco Studio,选择 File > Project Structure > Signing Configs
  2. 填写以下信息:
    • Store File :选择生成的 .p12 文件。
    • Store Password:填写密钥库密码。
    • Key alias:填写密钥别名。
    • Key password:填写密钥密码。
    • Sign alg :设置为 SHA256withECDSA
    • Profile file :选择下载的 .p7b 文件(Profile 文件)。
    • Certpath file :选择下载的 .cer 文件(发布证书)。
  3. 点击 OK 保存。

5. 生成安装包

在 DevEco Studio 中,点击 Build > Build Hap(s)/APP(s) ,选择适合的构建选项。打包完成后,你将在 output 文件夹中找到生成的 .hap 文件。


第三步:测试与优化

在提交应用前,确保应用质量达到要求:

  1. 功能测试

    • 在鸿蒙设备或模拟器上运行你的 .hap 文件,验证应用的各项功能是否正常。
    • 使用 DevEco Studio 内置的调试工具检查性能瓶颈。
  2. 兼容性测试

    • 使用华为提供的云测服务进行兼容性测试,确保应用在不同设备上的表现一致。
  3. 安全检查

    • 确保没有隐私权限滥用或敏感信息泄露。
    • 使用 hap-signature-checker 工具检查签名完整性。

第四步:提交与上架

当你的应用准备就绪后,可以提交到华为应用市场:

1. 提交应用

  • 登录华为开发者后台,进入"应用管理"。
  • 上传 .hap 文件,填写版本更新说明。
  • 提交应用截图、视频以及隐私政策文件。

2. 审核与反馈

提交后,华为会进行以下审核:

  • 技术审核:检查应用是否存在崩溃、兼容性问题等。
  • 内容审核:确保应用内容符合平台规范。
  • 隐私审核:核对隐私政策和权限声明是否合规。

一般情况下,审核时间为 1-3 个工作日。如果审核未通过,需根据反馈修改应用并重新提交。

3. 应用上架

审核通过后,应用将正式上架华为应用市场。你可以通过后台查看应用的下载量和用户评价,进一步优化产品。


常见问题解答

  1. 签名失败怎么办?

    • 检查签名证书路径和密码是否正确。
    • 确保证书的有效期未过。
  2. 审核被拒如何处理?

    • 仔细阅读审核意见,针对问题进行修改。
    • 确保重新提交的版本完全解决了所有问题。
相关推荐
goto_w2 小时前
uniapp上使用webview与浏览器交互,支持三端(android、iOS、harmonyos next)
android·vue.js·ios·uni-app·harmonyos
别说我什么都不会17 小时前
ohos.net.http请求HttpResponse header中set-ccokie值被转成array类型
网络协议·harmonyos
码是生活18 小时前
鸿蒙开发排坑:解决 resourceManager.getRawFileContent() 获取文件内容为空问题
前端·harmonyos
鸿蒙场景化示例代码技术工程师18 小时前
基于Canvas实现选座功能鸿蒙示例代码
华为·harmonyos
小脑斧爱吃鱼鱼19 小时前
鸿蒙项目笔记(1)
笔记·学习·harmonyos
Debroon20 小时前
应华为 AI 医疗军团之战,各方动态和反应
人工智能·华为
鸿蒙布道师20 小时前
鸿蒙NEXT开发对象工具类(TS)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
zhang10620920 小时前
HarmonyOS 基础组件和基础布局的介绍
harmonyos·基础组件·基础布局
桃子酱紫君20 小时前
华为配置篇-BGP实验
开发语言·华为·php
马剑威(威哥爱编程)20 小时前
在HarmonyOS NEXT 开发中,如何指定一个号码,拉起系统拨号页面
华为·harmonyos·arkts