鸿蒙开发:应用上架第三篇,配置签名信息打出上架包

简介: 可以说,所有的签名信息文件,我们都已经完成了,正所谓,万事俱备只欠东风,这篇文章,我们着重概述一下,如何配置签名信息以及如何打出签名包。

前言


本文基于Api13


经过前面两篇文章,我们获取到了密钥和证书请求文件以及最终的发布证书和发布证书Profile文件,可以说,所有的签名信息文件,我们都已经完成了,正所谓,万事俱备只欠东风,这篇文章,我们着重概述一下,如何配置签名信息以及如何打出签名包。


前面两篇文章,我们生成的文件,一定要保存好,最重要的是三个文件,分别是cer证书文件,.p12密钥文件和.p7b发布证书Profile文件:



配置签名信息


配置签名信息,有两种配置方式,一种是直接按照测试的信息复制修改即可,另一种是通过DevEco Studio IDE进行手动配置。


复制修改


在项目build-profile.json5文件中,我们把原来测试自动生成的签名信息手动复制一份,name修改为自己定义的名字,比如release,还有一点需要知道,signingConfigs之前说过,可以支持多份签名。


配置信息按照如下介绍设置即可:



配置代码如下:


"signingConfigs": [
      {
        "name": "default",
        "type": "HarmonyOS",
        "material": {
          "certpath": "/Users/abnerming/.ohos/config/default_Demo_Pnrx-7lyKAHsQo3AwkM12-Ly-9b8r6LaO9FjyL_MswI=.cer",
          "storePassword": "0000001BC250F17B8DE65303700FBC807E84FB5489DA865BE094F95F1E7EADFE376F3586EB3AC142AB5E16",
          "keyAlias": "debugKey",
          "keyPassword": "0000001B5FEB0A1139B5C3D5CE59B37B9EB9100D28643C42ED6898619BCD4BEA36A821A666FC9AB0966217",
          "profile": "/Users/abnerming/.ohos/config/default_Demo_Pnrx-7lyKAHsQo3AwkM12-Ly-9b8r6LaO9FjyL_MswI=.p7b",
          "signAlg": "SHA256withECDSA",
          "storeFile": "/Users/abnerming/.ohos/config/default_Demo_Pnrx-7lyKAHsQo3AwkM12-Ly-9b8r6LaO9FjyL_MswI=.p12"
        }
      },
      {
        "name": "release",
        "type": "HarmonyOS",
        "material": {
          "storePassword": "00000018809D89A280116CD33A65E5D4F36AE7AFF512EFFB8AC497C2B63719E06B67A80A746C9F26",
          "certpath": "/Users/abnerming/harmony/test/abner.cer",
          "keyAlias": "abner",
          "keyPassword": "00000018AB533C6359E2D430AF157ECCF736C800A54A66C82DDEA4357942EBAAB66A84CC4D72A952",
          "profile": "/Users/abnerming/harmony/test/abner.p7b",
          "signAlg": "SHA256withECDSA",
          "storeFile": "/Users/abnerming/harmony/test/abner.p12"
        }
      }
    ]


具体的相关字段,大家可以按照表中介绍一一对应填写。


项目配置手动选择


以上手动复制代码修改,大家可以看到,有两项storePassword和keyPassword都是以密文的形式配置的,还得需要自己手动进行把明文密码更改为密文,加密方式也需要自行摸索,十分的不便,莫慌,项目配置手动选择一项,可以解决我们的痛点,点击项目配置,选择Signing Configs选项,点击“+”选项。



输入您的签名方案名字:



点击ok之后,把Automatically generate signature选项取消掉,就可以手动进行填写了,所有的信息,都是前边两篇文章中生成的,这些信息很重要,请一定要保管好。



配置好之后,我们可以发现,会自动在项目build-profile.json5文件中生成一份配置好的签名信息,当然了也包含了已经转换后的密文信息。


配置产品品类信息


以上的签名信息配置好之后,我们怎么进行打包呢,毕竟我们现在有两套签名信息,一套是默认的default,一套是正式的release,如何选择,这就需要配置产品品类信息了,也就是build-profile.json5中的products字段。


如果没有别的信息配置,我们直接把default复制一份即可,name和signingConfig修改为我们签名信息对应的即可。


"products": [
      {
        "name": "default",
        "signingConfig": "default",
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "buildOption": {
          "strictMode": {
            "caseSensitiveCheck": true,
            "useNormalizedOHMUrl": true
          }
        }
      },
      {
        "name": "release",
        "signingConfig": "release",
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "buildOption": {
          "strictMode": {
            "caseSensitiveCheck": true,
            "useNormalizedOHMUrl": true
          }
        }
      }
    ]


由于出包,需要针对每个模块进行签名打包,所以,在配置好了产品品类信息之后,我们就需要给各个模块加上我们的品类,一定要记住,每个都需要加,当然了,HAR模块无需配置。


如entry模块中的applyToProducts,我这里把新的产品加上了。


{
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",
          "applyToProducts": [
            "default",
            "release"
          ]
        }
      ]
    }


以上的信息配置好之后,我们点击模块左侧的图标,就可以切换产品品类了。



想打正式包,直接选择配置好的正式签名即可。



出包


所有的信息配置好之后,那么打包就是最简单的,直接点击顶部的导航栏中Build->Build Hap(s)/APP(s)->Build App(s)。



点击之后,经过一段时间的编译,就会在项目中生成一个build文件夹,找到对应的签名信息文件,里面的带有signed字段的就是打出的签名包。



后续,往应用商店上架,传的就是这个签名包。


本文标签:HarmonyOS应用上架。

相关文章
|
16天前
|
JavaScript 前端开发 UED
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发四
本文介绍了Web组件开发与性能优化的相关内容。在Web组件开发部分,涵盖创建组件、设置样式与属性、添加事件和方法以及场景示例,如动态播放视频。性能提升方面,推荐使用数据懒加载、条件渲染替代显隐控制、Column/Row替代Flex、设置List组件宽高及调整cachedCount减少滑动白块等方法,以优化应用性能与用户体验。
43 1
|
16天前
|
JavaScript 前端开发 IDE
鸿蒙开发:了解布局分析ArkUI Inspector
ArkUI Inspector,知名其意,就是UI检查,它可以让开发者在DevEco Studio中快速的查看一个应用在模拟器或者真机上的UI显示效果,并且可以通过查看多次操作后的界面状态,来快速的分析定位UI界面存在的问题。
鸿蒙开发:了解布局分析ArkUI Inspector
|
16天前
|
数据挖掘 测试技术 开发工具
鸿蒙开发:hvigorw,编译构建,实现命令打包
以上呢,就是hvigorw几个常见的命令,主要用于构建不同类型的包,也是接下来流水线打包,几个比较常用的命令,所以拿来重点概述了,当然了hvigorw还有一些常见的命令,大家直接看官网介绍即可,不在多赘述。
鸿蒙开发:hvigorw,编译构建,实现命令打包
|
15天前
|
UED 容器
60.[HarmonyOS NEXT 实战案例四] 天气应用网格布局(下)
在上一篇教程中,我们学习了如何使用GridRow和GridCol组件实现基本的天气应用网格布局。本篇教程将在此基础上,深入探讨如何优化布局、添加交互功能,以及实现更多高级特性,打造一个功能完善的天气应用界面。
27 0
|
15天前
|
C++ 容器
59. [HarmonyOS NEXT 实战案例四] 天气应用网格布局(上)
天气应用是移动设备上常见的应用类型,它需要在有限的屏幕空间内展示多种天气信息,如当前温度、天气状况、未来天气预报、空气质量等。HarmonyOS NEXT提供的GridRow和GridCol组件非常适合实现这种复杂的信息展示布局。本教程将详细讲解如何使用这些组件构建一个美观、实用的天气应用界面。
30 0
|
16天前
|
编解码 UED 开发者
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发之常见布局
本文主要介绍了自适应布局与响应式布局的相关内容。自适应布局部分涵盖线性布局、层叠布局、弹性布局和网格布局,详细说明了各布局的特性及使用方法,例如线性布局中的排列、拉伸与缩放,弹性布局的方向、换行与对齐方式等。响应式布局则重点讲解了栅格系统和媒体查询,阐述如何通过栅格组件和媒体查询条件实现不同设备上的适配效果。这些技术帮助开发者灵活应对多尺寸屏幕的设计需求,提升用户体验。
50 0
|
23天前
|
开发框架 前端开发 JavaScript
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发一
本文介绍了方舟开发框架(ArkUI)及其两种开发范式:基于ArkTS的声明式开发范式和类Web开发范式。ArkUI是用于构建HarmonyOS应用界面的UI框架,提供极简UI语法和基础设施。声明式开发范式使用ArkTS语言,以组件、动画和状态管理为核心,适合复杂团队协作;类Web开发范式采用HML、CSS、JavaScript三段式开发,适用于简单界面应用,贴近Web开发者习惯。文中还概述了两者的架构和基础能力,帮助开发者选择合适的范式进行高效开发。
69 15
|
23天前
|
编解码 前端开发 Java
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发三
本文介绍了基于声明式UI范式的图形绘制与动画效果实现方法,涵盖绘制图形、添加动画效果及常见组件说明三部分内容。在绘制图形部分,详细讲解了如何通过Circle组件为食物成分表添加圆形标签,以及使用Path组件结合SVG命令绘制自定义图形(如应用Logo)。动画效果部分则展示了如何利用animateTo实现闪屏动画,包括渐出、放大效果,并设置页面跳转;同时介绍了页面间共享元素转场动画的实现方式。最后,文章列举了声明式开发范式中的各类组件及其功能,帮助开发者快速上手构建复杂交互页面。
66 11
|
24天前
|
开发工具
鸿蒙开发:DevEcoStudio中的代码生成
其实大家可以发现,一篇文章下来,都是基于右键后的Generate选项,所以,还是非常的简单的,当然了,还是希望大家,以上的功能,能够应用在实际的开发中,而不是停留在纸面上。
鸿蒙开发:DevEcoStudio中的代码生成
|
20天前
|
UED 容器
5.HarmonyOS Next开发宝典:掌握Flex布局的艺术
Flex布局(弹性布局)是HarmonyOS Next中最强大的布局方式之一,它提供了一种更加高效、灵活的方式来对容器中的子元素进行排列、对齐和分配空间。无论是简单的居中显示,还是复杂的自适应界面,Flex布局都能轻松应对。
47 0