HarmonyOS NEXT开发进阶(一):初识 HarmonyOS NEXT开发

文章目录

    • 一、前言
    • [二、HarmonyOS NEXT 开发框架](#二、HarmonyOS NEXT 开发框架)
    • [三、HarmonyOS NEXT开发指导](#三、HarmonyOS NEXT开发指导)
      • [3.1 Windows环境准备](#3.1 Windows环境准备)
    • 四、项目拆解
      • [4.1 工程目录](#4.1 工程目录)
      • [4.2 全局配置](#4.2 全局配置)
        • [4.2.1 APP全局配置: AppScope层(AppScope/app.json5)](#4.2.1 APP全局配置: AppScope层(AppScope/app.json5))
        • [4.2.3 签名全局配置](#4.2.3 签名全局配置)
      • [4.3 APP代码初始化](#4.3 APP代码初始化)
      • [4.4 APP签名文件配置](#4.4 APP签名文件配置)
      • [4.5 证书申请](#4.5 证书申请)
        • [4.5.2.1 创建.p12文件](#4.5.2.1 创建.p12文件)
        • [4.5.2.2 申请证书及Profile](#4.5.2.2 申请证书及Profile)
        • [4.5.2.3 注册调试设备](#4.5.2.3 注册调试设备)
        • [4.5.2.4 申请调试Profile](#4.5.2.4 申请调试Profile)
        • 4.5.2.5申请发布证书及Profile
      • [4.5.3 证书签名使用](#4.5.3 证书签名使用)
    • 五、参考资料

一、前言

2024年10月22日19:00,华为在深圳举办"原生鸿蒙之夜暨华为全场景新品发布会",主题为"星河璀璨,共见鸿蒙"。本次活动上,华为正式发布"纯血鸿蒙 "系统HarmonyOS 5.0(即HarmonyOS NEXT),据华为常务董事、终端BG董事长余承东透露,该系统是鸿蒙来诞生以来的最大一次升级。

值得注意的是,HarmonyOS 5.0是我国首个国产移动操作系统,也是继苹果iOS和安卓系统后,全球第三大移动操作系统。

华为鸿蒙操作系统最早于2019年发布,2021年正式搭载到智能手机上。随着系统的不断升级和更新,2023年9月,华为宣布全面启动鸿蒙原生应用,即完全使用自主"内核",在开发过程中不再依赖其他操作系统的开放源代码。

今年7月1日,中国信息通信研究院认证华为鸿蒙内核自主研发比率100%,自主成熟度A级。这意味着,华为鸿蒙操作系统正式成为完全"国产"的基础软件,因此有了"纯血鸿蒙"的称号。

10月8日,HarmonyOS NEXT正式开启公测,首批公测机型包括HUAWEI Mate X5系列、HUAWEI MatePad Pro 13.2英寸系列、HUAWEI Mate 60系列。此外,微博、WPS、钉钉等众多应用也同步开启了鸿蒙版公测。

10月22日,华为宣布,纯血鸿蒙将开启华为Pura 70系列,华为Pocket 2系列和华为MatePad Pro 11英寸 2024款三款设备公测。华为Mate XT非凡大师、nova flip、nova13系列等更多设备将陆续在2025年加入公测。

二、HarmonyOS NEXT 开发框架

HarmonyOS NEXT 开发框架如下:

其中,

DevEco Studio 是基于 IntelliJ IDEA Community 开源版本打造,所以默认的快捷键其实继承于 IntelliJ IDEA 。 作者:黑马pink讲前端 https://www.bilibili.com/read/cv28430733/ 出处:bilibili

三、HarmonyOS NEXT开发指导

鸿蒙应用开发技术栈:

  • 开发语言:ArkTS(封装TS)
  • UI框架:ArkUI

3.1 Windows环境准备

  1. 下载并安装官网提供的Deveco Studio IDE

注⚠️:因IDE占用空间较大,安装过程中应选择剩余磁盘空间大的物理盘符进行安装。

  1. 私服配置
    2.1 打开Deveco Studio--->打开设置,搜索ohpm:

2.2 点击 "Optimize config":

2.3 选中ohpm registry,请将产品所依赖的私服输入到ohpm registry中,对于产品依赖多个私服,每个私服使用","隔开:

2.4 点击"ok"即可,可通过查看.ohpmrc文件是否配置成功,如下所示:

四、项目拆解

4.1 工程目录

鸿蒙项目模板工程目录结构如下:

4.2 全局配置

4.2.1 APP全局配置: AppScope层(AppScope/app.json5)

AppScope层用于配置全局信息。 app的图标需放于该层的resources中,该层的资源只放置图标信息。

其他相关配置如下:

typescript 复制代码
{
  "app": {
    "bundleName": "com.boc.panda.demo",  //Bundle名称
    "vendor": "example", //应用包供应商
    "versionCode": 1000000, //应用版本号
    "versionName": "1.0.0", //应用版本文本描述信息
    "icon": "$media:app_icon", //应用图标
    "label": "$string:app_name" //应用名称
  }
}
4.2.3 签名全局配置

全局build-profile.json5文件中包含签名,productmodules等配置。

开发者需在此配置生产签名和测试签名。

products标签也需根据不同产物进行配置。此处注意,若开发者引入了集成态hsp包,由于它使用了标准化的OHMUrl格式,设置配置项useNormalizedOHMUrltrue

4.3 APP代码初始化

app/src/main/ets/entryability/EntryAbility进行框架模块初始化。

typescript 复制代码
async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): Promise<void> {
  await StorageServiceManager.register(this.context)//切换环境模块使用存储模块,该模块需注册,若不需要则可删除
  const productName = PRODUCT_NAME as string
  const debug = productName !== "product"
  //初始化框架
  BundlePlatform.init(
    new BundleConfig(this.context)
      .setDefaultScheme("ACMWE")
      .setDebug(debug) //true表示开发调试模式,否则为生产发布模式。Debug模式下错误将以异常形式抛出,以强烈的信号通知开发者,便于开发者发现问题,Release模式下将尽力规避异常,保障程序尽力运行,避免Crash
      .setCanLog(debug) //true表示可以输出日志,否则不输出日志
  )
  this.initConfig()
  //注册
  ContextServiceManager.register(this.context)
}
async initConfig() {
  try {
    // 启动Bundle
    await BundlePlatform.startBundle('bundle_config.json')
    bundleInit = true
  } catch (e) {
    console.log('App', '出错了')
  }

4.4 APP签名文件配置

应用签名文件建议统一管理在signature文件中。

鸿蒙应用签名证书需通过华为AppGallery Connect申请、管理,包括调试证书、发布证书,通过企业信息注册生成企业开发者证书、发布证书。

HarmonyOS应用/服务通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用/服务的完整性。

在申请数字证书和Profile文件前,首先要通过Deveco Studio来生成密钥(存储在格式为.p12的密钥库文件中)和证书请求文件(.csr文件)。
基本概念

  • .p12文件:密钥,包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,用于数字签名和验证。
  • .csr文件:证书请求文件,包含密钥中的公钥和公共名称、组织名称等,用于向AppGallery Connect申请数字证书。
  • .cer文件:数字证书,由华为AppGallery Connect颁发。
  • p7b文件:Profile文件,包含HarmonyOS的包名、数字证书信息、申请的证书权限列表,以及调试的设备信息等,每个应用中必须包含一个Profile文件。

注⚠️:以上文件请妥善保管,否则可能影响应用后期正常上架、更新!

4.5 证书申请

密钥和证书请求文件通过Deveco Studio生成。

4.5.2.1 创建.p12文件

主菜单Build>Generate Key and CSR;

在Key Store File中,点击Choose Existing选择已有的密钥库文件(存储有密钥库的.p12文件),如果没有密钥库文件,单击New进行创建,在Create Key Store窗口中,填写密钥库信息后,单击OK:

  • Key store file: 设置密钥库文件存储路径,并填写p12文件名。
  • Password:设置密钥库密码,长度至少8位,必须由大小写字母、数字和特殊符号中的两种以上组合。请记住密码,后续配置签名配置需要使用。
  • Confirm password: 再次输入密钥库密码。

Generate Key and CSR填写信息;

  • Alias: 密钥的别名信息,用于标识密钥名称。请妥善保管别名,后续签名配置需要使用。
  • Password: 密钥对应的密码,与密钥库密码一致。

设置CSR文件存储路径和CSR文件名;

点击Finish,创建CSR文件成功,可以在存储路径下获取密钥库.p12文件、证书请求文件.csr和material文件。

4.5.2.2 申请证书及Profile

对于无华为帐号的开发者,需要在AppGallery Connect注册华为帐号,且进行实名认证;企业用户建议申请企业级别帐号。官网链接

创建项目

项目是资源、应用的组织实体,通常开发者需要将一个应用的不同平台(Android、快应用、鸿蒙应用等)放置在一个项目中。

  1. 登录AppGallery Connect后,点击"我的项目",进行添加项目;
  2. 按照要求进行每一步,最终点击完成即可。

创建应用

"我的应用"中的应用都可以包含在我的项目中。"我的应用"中的服务和应用只能是华为应用市场上发布的应用。因此,只包括Android应用、快应用、鸿蒙应用等。

  1. 登录AppGallery Connect,选择"证书、APP ID和Profile";
  2. 点击"APP ID",进入"APP ID" 页面,进行新建;
  3. 进入"设置应用开发基础信息"页面,填写应用的基础信息,完成后点击"下一步"。
  4. 在"开放能力接入"页面,为应用选择所属的项目,完成后点击"确认",应用即成功创建。 如需将应用添加到已有项目,点击下拉框进行选择 如需将应用添加到新项目,直接在框中填写新项目名称。

申请调试证书及Profile

申请调试证书

外网环境且只需要一台设备调试,建议使用DevEco Studio提供的自动签名,此时无需调试证书,如果需要多台设备或者内网环境调试,则需要手动签名,此时需要申请及下载调试证书。

1 . 登录AppGallery Connect,选择"证书 APP ID和Profile"

  1. 选择"证书、APP ID和Profile",进入证书页面,点击新增证书;

  2. 在弹出的"新增证书"窗口填写要申请的证书信息,其中证书请求文件即是通过Deveco Studio生成的证书请求文件,信息填写完毕后点击"提交";

  3. 证书申请成功后,"证书管理"页面展示证书名称等信息,点击"下载",将生成的证书保存本地,供后续调试签名使用;

4.5.2.3 注册调试设备

内网环境或者多款鸿蒙手机需要进行调试应用时,需要注册调试设备的udid,udid具体获取方式:hdc shell bm get --udid

  1. 登录AppGallery Connect,选择"证书 APP ID和Profile"。
  2. 导航栏选择"证书、APP ID和Profile > 设备 ", 进入设备页面。添加需要调试设备的udid 即可。
  3. 设备添加成功后,可在"设备管理"页面查看设备信息。
  4. 如果需删除设备,勾选一个或者多个设备,点击"批量删除设备",在弹出窗口点击"确认"即可。
4.5.2.4 申请调试Profile
  1. 登录AppGallery Connect,选择"证书 APP ID和Profile"。
  2. 导航栏选择"证书、APP ID和Profile > Profile ", 进入Profile页面,点击右上角添加。
  3. 在"添加Profile"页面,填写Profile信息,完成后点击添加。
  4. 调试Profile申请成功后,"管理HAP Provision Profile"页面展示Profile信息,点击"下载",将生成Profile保存本地,供后续签名使用。
4.5.2.5申请发布证书及Profile

发布证书签名文件申请同调试证书签名文件申请方式基本相同,主要区别:

  1. 选择证书类型时需要选择的是发布即可。
  2. 不需要添加调试设备udid,发布证书默认支持所有harmonyos机型。
    详细可参考华为官网

4.5.3 证书签名使用

配置证书签名信息

1、在DevEco Studio中配置密钥(.p12)文件、申请的调试证书(.cer)和调试Profile(.p7b)文件。 开发者在工程级别目录新建signature文件目录来存储相关签名证书。

2、主菜单File > Project Structure > Project > Signing Configs窗口中,取消勾选"Automatically generate signature", 然后配置工程信息。

3、 点击"ok"即可完成了应用的调试签名配置。

  • Store File : 选择密钥库文件,文件后缀.p12
  • Store Password: 输入密钥库密码
  • Key Alias: 输入密钥库别名信息
  • Key Password: 输入密钥的密码
  • Sign Alg: 签名算法,默认为SHA256withECDSA
  • Profile File : 选择申请的Profile文件,后缀.p7b
  • Certpath File : 选择申请的数字签名证书文件,后缀.cer

五、参考资料

相关推荐
岳不谢11 小时前
华为DHCP高级配置学习笔记
网络·笔记·网络协议·学习·华为
爱笑的眼睛1112 小时前
uniapp 极速上手鸿蒙开发
华为·uni-app·harmonyos
K.P13 小时前
鸿蒙元服务从0到上架【第三篇】(第二招有捷径)
华为·harmonyos·鸿蒙系统
K.P14 小时前
鸿蒙元服务从0到上架【第二篇】
华为·harmonyos·鸿蒙系统
敲代码的小强17 小时前
Flutter项目兼容鸿蒙Next系统
flutter·华为·harmonyos
程序猿会指北17 小时前
纯血鸿蒙APP实战开发——Text实现部分文本高亮和超链接样式
移动开发·harmonyos·arkts·openharmony·arkui·组件化·鸿蒙开发
鸿蒙自习室21 小时前
鸿蒙开发——关系型数据库的基本使用与跨设备同步
前端·数据库·华为·harmonyos·鸿蒙
SoraLuna1 天前
「Mac畅玩鸿蒙与硬件45」UI互动应用篇22 - 评分统计工具
开发语言·macos·ui·华为·harmonyos
资讯分享周1 天前
鸿蒙风起,未来已来——云学堂鸿蒙应用认证开营啦!
华为·harmonyos
Lincode121 天前
HarmonyOS--鸿蒙三方库--lottie
华为·harmonyos