在DevEco Studio中,默认创建的项目,仅有default这一项签名的配置。在开发阶段和发布阶段因需要使用不同的签名证书,如果仅用default这一配置项,那么就得在开发及发布阶段时切换default配置项中的证书及密码的配置。
本篇内容是《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》这本书第15章内容的延续,是咱这本书读者的福利,内容重点介绍如何实现多签名的配置,支持在开发版调试及发布版打包时,不需要更改签名相关的配置,实现一次配置多次受益的目标。 对本书感兴趣的同学可以点击以下链接进行购买,及参加 我的班级(华为官方)共同学习
- 机械工业出版社官方京东旗舰店
- 机械工业出版社京东自营旗舰店
- 机械工业出版社官方当当旗舰店
- 机械工业出版社当当自营旗舰店当自营旗舰店](product.dangdang.com/29944296.ht… "机械工业出版社当当自营旗舰店")
往期福利:
- 【页面路由导航】三步实现页面跳转的完整示例-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
- 【鸿蒙生态共建】一文10个示例讲懂鸿蒙系统ArkTS中的null与undefined的区别与应用-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
- 【鸿蒙生态共建】一文两表三实例讲清async函数与普通函数的区别-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
- 【鸿蒙生态共建】一文说清基础类型数据的非预期输入转换与兜底-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
- 【鸿蒙生态共建】一文说明兼容版本、目标版本和编译版本的区别与应用实践-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
- 【鸿蒙生态共建】一文说清复杂类型数据的非预期输入转换与兜底-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
- 【鸿蒙生态共建】鸿蒙6适配-API变化与兼容(1.基础能力篇)-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
1: 背景简介
在DevEco Studio中,默认创建的项目,仅有default这一项签名的配置。在开发阶段和发布阶段因需要使用不同的签名证书,如果仅用default这一配置项,那么就得在开发及发布阶段时切换default配置项中的证书及密码的配置。
新建一个项目,查看一下,工程目录中的build-profile.json5文件内容如下(DevEco Studio 5.1.1 Release创建,其它的版本可能会略有不同),这时可以看到 signingConfigs的配置内容还为空。
{
"app": {
"signingConfigs": [],
"products": [
{
"name": "default",
"signingConfig": "default",
"targetSdkVersion": "5.1.1(19)",
"compatibleSdkVersion": "5.1.1(19)",
"runtimeOS": "HarmonyOS",
"buildOption": {
"strictMode": {
"caseSensitiveCheck": true,
"useNormalizedOHMUrl": true
}
}
}
],
"buildModeSet": [
{
"name": "debug",
},
{
"name": "release"
}
]
},
"modules": [
{
"name": "entry",
"srcPath": "./entry",
"targets": [
{
"name": "default",
"applyToProducts": [
"default"
]
}
]
}
]
}
2: 配置联机证书
这时,如需要进行联机调试,常见的做法为,进入Project Structure,如下图,在File菜单项中,点击Project Structure。(这部分在书中有介绍,如已知晓,则忽略本小节)
这时打开了Project Structure视图,进入Signing Configs选项卡,选中Support HarmonyOS和Automatically generate signature这两个选项卡,如下图
之后,DevEco Studio会自动生成相关的签名证书配置,点击OK,即完成了默认的开发版签名证书的配置。点击完成后。
这时再查看build-profile.json5文件内容中 signingConfigs的配置内容已经有值了,这时即可以联机调试了。
3: 配置发布证书
当开发证书配置成功之后,现在整个项目中,仅配置了开发环境的这一个证书。如需要在发布阶段也使用证书,可以使用手动的方式,配置一下发布证书(具体的配置方式本书的15章第一小节有介绍,在这里重点说一下如何实现双证书的共存),回到Project Structure视图,进入Signing Configs选项卡,选中Support HarmonyOS和Automatically generate signature这两个选项卡,如下图,点击红框中的加号。
这时弹出Add Signing Config对话框,如下图,在Signing config name选项中,输入 release,之后点击OK,
这时回到回到Project Structure视图,仅勾选Support HarmonyOS,之后按实际情况,配置签名证书信息。
这时,再打开build-profile.json5文件,签名配置项,多了name为release的配置。
4: 关联发布证书
配置好证书之后,我们的目标是可以灵活的按需指定证书,编译不同版本的App包。在DevEco Studio中,可以通过不同的产品来关联不同的证书,即build-profile.json5文件中的products配置项,默认如下图所示。
name为default的products配置项,使用的签名为default。将该配置项复制一份,将name和signingConfing均改为release,如下图所示。
这时,product的对话框中(点工具区的Product按钮),在product下拉选项中有了release的选项,如下图所示
选择release,如下图所示,Target Select中的Module Target是不可选的状态,这是因为Module还没有对应的Target可以支持。需要对modules的target进行配置。
如下图所示,对build-profile.json5文件中的modules配置项,关联release Product。
这时,product的对话框中,Module Target为可选状态。这时证书关联的工作已经完成
5: 开发及发布时的证书切换
基于上述的配置,在开发阶段,使用default产品,在发布阶段使用release产品,在Product对话框中切换配置即可,而不需要再重新配置覆同一个证书的配置了。
总结:
本文是《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》书中第15章内容的延续,是为读者提供的福利,本文针对DevEco Studio默认单签名配置的痛点,详细讲解如何实现开发/发布双签名配置方案。通过修改build-profile.json5文件,添加release签名配置并关联对应product,开发者可在不修改证书信息的情况下,通过切换product选项快速选择开发版或发布版签名。文章包含5个关键步骤:1)初始配置分析;2)联机调试证书配置;3)发布证书添加;4)产品与证书关联;5)开发/发布切换演示。该方案有效解决了频繁修改签名配置的成本。
对本书感兴趣的同学可以点击以下链接进行购买,及参加 我的班级(华为官方)共同学习