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

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

前言


本文基于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应用上架。

相关文章
|
3月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
仓颉语言实战分享,教你如何用仓颉开发外卖App界面。内容包括页面布局、导航栏自定义、搜索框实现、列表模块构建等,附完整代码示例。轻松掌握Scroll、List等组件使用技巧,提升HarmonyOS应用开发能力。
|
3月前
|
存储 IDE 定位技术
【HarmonyOS 5】鸿蒙组件&模板服务详解 - 助力高效开发的利器
在移动应用开发领域,效率与质量始终是开发者追求的核心目标。鸿蒙系统作为新兴的操作系统,为开发者提供了丰富且强大的开发资源,其中鸿蒙组件&模板服务更是成为开发者快速构建高质量应用的得力助手。
126 0
|
3月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:健身App
本期分享一个健身App首页的布局实现,顶部采用Stack容器实现重叠背景与偏移效果,列表部分使用List结合Scroll实现可滚动内容。代码结构清晰,适合学习HarmonyOS布局技巧。
|
2月前
|
存储 SQL 前端开发
跟老卫学HarmonyOS开发:ArkTS关系型数据库开发
本节以“账本”为例,使用关系型数据库接口实现账单的增、删、改、查操作。通过创建ArkTSRdb应用,演示如何操作RdbStore进行数据管理,并结合界面按钮实现交互功能。
108 0
跟老卫学HarmonyOS开发:ArkTS关系型数据库开发
|
3月前
|
开发者
鸿蒙开发:资讯项目实战之项目初始化搭建
目前来说,我们的资讯项目只是往前迈了很小的一步,仅仅实现了项目创建,步虽小,但概念性的知识很多,这也是这个项目的初衷,让大家不仅仅可以掌握日常的技术开发,也能让大家理解实际的项目开发知识。
鸿蒙开发:资讯项目实战之项目初始化搭建
|
3月前
|
缓存 JavaScript IDE
鸿蒙开发:基于最新API,如何实现组件化运行
手动只是让大家了解切换的原理,在实际开发中,可不推荐手动,下篇文章,我们将通过脚本或者插件,快速实现组件化模块之间的切换,实现独立运行,敬请期待!
115 0
鸿蒙开发:基于最新API,如何实现组件化运行
|
3月前
|
SQL 弹性计算 数据库
鸿蒙5开发宝藏案例分享---优化应用时延问题
鸿蒙性能优化指南来了!从UI渲染到数据库操作,6大实战案例助你提升应用流畅度。布局层级优化、数据加载并发、数据库查询提速、相机资源延迟释放、手势识别灵敏调整及转场动画精调,全面覆盖性能痛点。附赠性能自检清单,帮助开发者高效定位问题,让应用运行如飞!来自华为官方文档的精华内容,建议收藏并反复研读,共同探讨更多优化技巧。
|
3月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:银行App
仓颉语言银行App项目分享,页面布局采用List容器,实现沉浸式体验与模块化设计。顶部资产模块结合Stack与Row布局,背景图与内容分离,代码清晰易懂;功能按钮部分通过负边距实现上移效果,圆角仅保留顶部;热门推荐使用header组件,结构更规范。整体代码风格与ArkTS相似,但细节更灵活,适合金融类应用开发。
|
3月前
|
缓存
鸿蒙5开发宝藏案例分享---Swiper组件性能优化实战
本文分享了鸿蒙系统中Swiper组件的性能优化技巧,包括:1) 使用`LazyForEach`替代`ForEach`实现懒加载,显著降低内存占用;2) 通过`cachedCount`精准控制缓存数量,平衡流畅度与内存消耗;3) 利用`onAnimationStart`在抛滑时提前加载资源,提升构建效率;4) 添加`@Reusable`装饰器复用组件实例,减少创建开销。实际应用后,图库页帧率从45fps提升至58fps,效果显著。适合处理复杂列表或轮播场景,欢迎交流经验!
|
3月前
|
编译器 程序员 开发者
详解HarmonyOS NEXT系统中ArkTS和仓颉的混合开发
本文介绍了鸿蒙系统中ArkTs与仓颉语言的混合开发方法,讲解了如何通过DevEco Studio创建混合项目、目录结构特点及组件调用方式,强调编译器自动化处理大幅简化开发流程,提升了开发体验。