問題現象
開發的游戲提交華為審核,結果被審核駁回:游戲啟動后彈出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
