继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

华为联运游戏或应用审核驳回:签名不一致排查指导

华为开发者论坛
关注TA
已关注
手记 196
粉丝 12
获赞 3

背景:

对接华为HMS SDK开发了一款游戏,近期游戏更新,提交审核被驳回:我们发现您的游戏与在货架版本签名不一致,请修改。
这里根据这次问题定位,写了个总结,分享给大家。

排查步骤

1. 对比应用前一版本与现版本的是否一致

查看工程中的指纹证书:
a. 打开命令行,输入keytool -list –v –keystore [签名文件路径]

b. 输入秘钥库口令

c. 查看当前签名指纹证书

在这里插入图片描述

APK签名查看方法:
a. 输入命令:keytool -printcert -jarfile xxx.apk(apk文件路径)

b. 执行命令后显示如下图:

在这里插入图片描述

c. 可以看到当前应用apk的SHA256值,需要对比的两个应用的SHA256值进行确认两个应用的签名证书是否一致

再将两个APK的指纹证书与工程中的指纹证书对比,查看是否一致

2. 如果签名证书不一致,一般有两种情况,一种是两个apk版本使用了不同的签名文件打包。 这种情况,首先检查工程中签名使用的jks文件或keystore文件是否为同一文件。或者检查jks或者keystore文件是否与不同环境或不同渠道混用,导致了签名的不一致。

例如:

在这里插入图片描述

这里有debug和release两个环境,两者使用的jks文件不同,需要确认每个环境配置的jks文件是否一一对应,不能将debug的jks文件配置到release中,反之亦然。

3. 如果jks文件或keystore文件一致,则需要确认打包签名是否使用了自动化流程,检查自动化流程中是否使用了常规的DEX文件加壳,从而导致了签名不一致。

以一个android应用加固网站为例,应用可以在类似的第三方平台进行二次加固,一般此类平台加固完成之后可能会丢失签名,需要二次apk签名并添加渠道:

在这里插入图片描述

上传应用:

在这里插入图片描述

应用加固:

在这里插入图片描述

加固完成后会生成一个新的apk:

图片描述

可以看到应用在加固后签名已经丢失,一般使用平台流程化加固打包会在加固完成后自动进行二次签名,这样会导致应用签名与原始工程签名不一致,此处建议二次签名自己手动使用命令签名打包


原作者:AppGallery Connect

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP