鸿蒙应用发布

一、发布流程

开发者完成HarmonyOS应用开发后,需要将应用打包成APP,用于发布到华为应用市场。发布应用的流程如下图所示。

 

准备签名文件

生成密钥和证书请求文件

HarmonyOS应用通过数字证书(.cer文件)和HarmonyAppProvision文件(.p7b文件)来保证应用的完整性,需要通过DevEco Studio来生成密钥文件(.p12文件)和证书请求文件(.csr文件)。同时,也可以使用命令行工具的方式来生成密钥文件和证书请求文件。

基本概念

  • 密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式为.p12。其中公钥用于内容的加密,私钥用于解密;在数字签名过程中,私钥用于数字签名,公钥用于解密。
  • 证书请求文件:格式为.csr,全称为Cerificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。
  • 数字证书:格式为.cer,由华为AppGallery Connect颁发。
  • HarmonyAppProvision文件:格式为.p7b,包含HarmonyOS应用的包名、数字证书信息、描述应用允许申请的证书权限列表,以及允许应用调试的设备列表(如果应用类型为Release类型,则设备列表为空)等内容,每个应用包中均必须包含一个HarmonyAppProvision文件。

使用DevEco Studio生成密钥和证书请求文件

  1. 在主菜单栏点击Build > Generate Key and CSR

    说明

    如果您本地已有对应的密钥,无需新生成密钥,可以在Generate Key界面中点击下发的Skip跳过密钥生成过程,直接使用已有密钥生成证书请求文件。

  2. Key Store Path中,可以点击Choose Existing选择已有的密钥库文件;如果没有密钥库文件,点击New进行创建。下面以新创建密钥库文件为例进行说明。
  3. Create Key Store窗口中,填写密钥库信息后,点击OK
    • Key Store Path:选择密钥库文件存储路径。
    • Password:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种以上字符的组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
    • Confirm Password:再次输入密钥库密码。

  4. Generate Key界面中,继续填写密钥信息后,点击Next
    • Alias:密钥的别名信息,用于标识密钥名称。请记住该别名,后续签名配置需要使用。
    • Password:密钥对应的密码,与密钥库密码保持一致,无需手动输入。
    • Validity:证书有效期,建议设置为25年及以上,覆盖应用的完整生命周期。
    • Certificate:输入证书基本信息,如组织、城市或地区、国家码等。

  5. Generate CSR界面,选择密钥和设置CSR文件存储路径。

  6. 点击OK按钮,创建CSR文件成功,可以在存储路径下获取生成的密钥库文件(.p12)和证书请求文件(.csr)。

使用命令行工具生成证书请求文件

使用Open JDK携带的Keytool工具生成证书请求文件。

  1. 使用管理员身份运行命令行工具。

  2. 切换到keytool工具所在路径,实际路径请根据安装目录进行修改。

  3. 执行如下命令,生成公私钥文件。例如,生成的密钥库名称为ide_demo_app.p12,存储到D盘根目录下。
    keytool -genkeypair -alias "ide_demo_app" -keyalg EC -sigalg SHA256withECDSA -dname "C=CN,O=HUAWEI,OU=HUAWEI IDE,CN=ide_demo_app"  -keystore d:\\idedemokey.p12 -storetype pkcs12 -validity 9125 -storepass 123456Abc -keypass 123456Abc

    生成公私钥文件的参数说明如下:

    说明

    请记录下alias、storepasskeypass的值,在后续配置签名信息操作会使用到。

    • alias:密钥的别名信息,用于标识密钥名称。
    • sigalg:签名算法,固定为SHA256withECDSA
    • dname:按照操作界面提示进行输入。
      • C:国家/地区代码,如CN。
      • O:组织名称,如HUAWEI。
      • OU:组织单位名称,如HUAWEI IDE。
      • CN:名字与姓氏,建议与别名一致。
    • validity:证书有效期,建议设置为9125(25年)。
    • storepass:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种以上字符的组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
    • keypass:设置密钥的密码,请与storepass保持一致。
  4. 执行如下命令,执行后需要输入storepass密码,生成证书请求文件,后缀格式为.csr。
    keytool -certreq -alias "ide_demo_app" -keystore d:\\idedemokey.p12 -storetype pkcs12 -file d:\\idedemokey.csr

    生成证书请求文件的参数说明如下:

    • alias:与3中输入的alias保持一致。
    • file:生成的证书请求文件名称,后缀为.csr。

申请发布证书和Profile文件

通过生成的证书请求文件,向AppGallery Connect申请发布证书和Profile文件,详细操作请参考下表。

步骤

操作步骤

操作说明

操作指导

1

创建AGC项目

申请发布证书前,需要登录AppGallery Connect后创建一个项目。

说明

如果在申请调试证书时已经创建了项目和应用,则可以跳过“创建AGC项目”和“创建HarmonyOS应用”步骤。

创建您的AGC项目

2

创建HarmonyOS应用

在AppGallery Connect项目中,创建一个HarmonyOS应用,用于发布证书和Profile文件申请。

创建HarmonyOS应用

3

申请发布证书和Profile文件

在AppGallery Connect中申请、下载发布证书和Profile文件。

申请发布证书和Profile文件

用于发布的证书和Profile文件后,请在DevEco Studio中进行签名,请参考配置签名信息

配置签名信息

编译构建APP需要使用到制作的私钥(.p12)文件、在AppGallery Connect中申请的证书(.cer)文件和Profile(.p7b)文件。然后在DevEco Studio中对工程进行配置。

File > Project Structure > Project > Signing Configs > Release窗口中,配置工程的签名信息。

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

设置完签名信息后,点击OK进行保存,然后使用DevEco Studio生成APP,请参考编译构建APP

编译构建APP

打包APP时,DevEco Studio会将工程目录下的所有HAP模块打包到APP中,因此,如果工程目录中存在不需要打包到APP的HAP模块,请手动删除后再进行编译构建生成APP。

  1. 点击Build > Build APP(s)/Hap(s) > Build APP(s),等待编译构建完成已签名的APP。
  2. 编译构建完成后,可以在build > outputs > app > release目录下,获取带签名的APP。

发布APP到华为应用市场

将HarmonyOS应用打包成APP后,通过AppGallery Connect将HarmonyOS应用分发到不同的设备上。您可以根据发布HarmonyOS应用指导将APP上架到华为应用市场。

猜你喜欢

转载自blog.csdn.net/weixin_37438128/article/details/117696077
今日推荐