問題現(xiàn)象
開發(fā)的游戲提交華為審核,結果被審核駁回:游戲啟動后彈出HMS Core更新提示,點擊稍后更新,反復拉起升級提示,無法進入游戲。
日志分析
聯(lián)系華為運營提供了我們的異常日志,日志中顯示如下報錯:
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
因為這個報錯不是我們業(yè)務的,所以聯(lián)系了華為技術支持溝通了下。
經(jīng)過定位,該錯誤說明缺少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,缺失的資源文件在如下位置:
更新這個資源后,問題解決。