问题现象
开发的游戏提交华为审核,结果被审核驳回:游戏启动后弹出HMS Core更新提示,点击稍后更新,反复拉起升级提示,无法进入游戏。
日志分析
联系华为运营提供了我们的异常日志,日志中显示如下报错:
E/HMSSDK_X509CertUtil(11044): Not include alias 052root
E/HMSSDK_X509CertUtil(11044): rootCert is null,verify failed
E/HMSSDK_HMSPackageManager(11044): failed to verify cert chain
E/HMSSDK_HMSPackageManager(11044): checkSinger failed
E/HMSSDK_HMSPackageManager(11044): Failed to find HMS apk
I/HMSSDK_AvailableAdapter(11044): HMS is not installed
因为这个报错不是我们业务的,所以联系了华为技术支持沟通了下。
经过定位,该错误说明缺少hmsrootcas.bks证书文件,缺少这个文件,会导致升级HMS Core失败,报错找不到HMS APK(Failed to find HMS apK)
问题解决
一般如果使用Android Studio的Maven仓集成方式,这个bks证书文件会在打包时自动放至apk的assets目录下,一般是不会有问题的。
但是如果使用的是Eclipse下载HMS Core SDK包本地集成的方式时,操作遗漏或错误可能导致该资源文件缺失,可以参考如下文档重新下载并导入资源文件:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallerykit-sdk
我这里确实是使用eclipse方式集成的5.0.5.300版本SDK,缺失的资源文件在如下位置:
更新这个资源后,问题解决。
原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0202447343695990648?fid=0101271690375130218
原作者:Mayism