为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Android

背景:

对接华为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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消