关键词

鸿蒙签名

问题现象

调试证书到期后申请了新的,游戏持久化在本地的关键资产无法正常访问了。

问题定位

游戏本身逻辑没有任何变动,唯一的变化只有签名,大概率是签名出了问题。重新排查签名过程,发现新申请的证书,使用的csr文件也是本地新生成的,导致新创建的cer指纹发生变化,持久化的关键数据,本地有证书的缓存信息,包括很多kit的云侧校验都会因此收到影响。

问题修复

使用原先证书的csr,生成新的cer证书和profile文件,重新进行打包验证,功能正常了,持久化的关键数据可以正常访问了。

关于游戏鸿蒙证书签名相关的几个小Tips

1、AGC后台的证书是有上限数量的,开发者账号下有多个游戏的时候,一定要考虑合理的证书复用。
2、Deveco本地生成的csr、p12文件是可以复用的,AGC后台根据csr创建的cer也是可以复用的,每个应用只需要维护各自的profile文件即可。发布证书和调试证书都可以用同一个csr文件来生成,这个原始的csr、p12文件,以及生成这俩文件时候填的一些关键数据一定要保存好,后续证书过期需要创建新证书的时候都需要用到,否则可能影响到已经安装的一些包体的功能,如果原始的csr文件丢失,目前这个影响是无法人工恢复的。
3、游戏这边打包的时候建议使用手动签名的方式,自动签名不同的设备会自动生成一份新的调试证书,可能会导致AGC后台快速达到证书上限。
4、同一台设备上,如果先后安装过同版本号(versioncode相同)的发布证书包(在架包)以及调试证书包(debug包),云侧证书校验可能会失败,证书信息在本地会有24h的缓存。


更多问题可关注:

鸿蒙游戏官方网站:​​https://developer.huawei.com/consumer/cn/games/​​

公开课:​​华为开发者学堂

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐