問題背景
集成華為HMS SDK后的游戲,華為方在審核時予以駁回,給出的理由是:在未安裝或需更新華為移動服務版本(HMS Core)的手機上,啟動游戲提示安裝華為移動服務(HMS Core),點擊安裝,測試后提示‘檢查華為移動服務(HMS Core)更新失敗’。
該問題的修復建議如下:可以先嘗試定位修復異常;定位過程中,如無法卸載移動服務(HMS Core)或無更新提示,請使用非華為手機進行測試后根據日志排查原因。
問題復現和日志
找了一個vivo手機,應用管理中搜索華為移動服務或HMS Core,然后卸載,應用啟動復現這個場景。確實復現了該問題:
全量日志分析報錯:
09-29 16:41:57.700 I/HMSSDK_HMSPackageManager( 8010): current versionCode:20502311, minimum version requirements: 40000000
09-29 16:41:57.702 I/updatesdk( 8010): UpdateSDK version is: 2.0.6.302 ,flavor: envrelease ,pkgName: com.XXX.huawei
09-29 16:41:57.714 E/StoreTask( 8010): UpdateSDK call store error: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
09-29 16:41:57.751 I/HMSSDK_UpdateWizard( 8010): CheckUpdateCallBack status is 6
09-29 16:41:57.752 E/HMSSDK_UpdateWizard( 8010): checkTargetAppUpdate reason is java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
09-29 16:41:57.752 E/HMSSDK_UpdateWizard( 8010): onUpdateStoreError responseCode: 6
09-29 16:41:57.765 I/HMSSDK_UpdateWizard( 8010): Enter onCheckUpdate, status: CHECK_FAILURE
09-29 16:41:57.768 I/HMSSDK_HMSPackageManager( 8010): current versionCode:20502311, minimum version requirements: 40000000
問題原因
最后和華為的技術支持溝通,onUpdateStoreError responseCode: 6這個錯誤碼表示查詢更新信息失敗,該錯誤是因為我們沒有排除如下混淆:
-keep class com.huawei.updatesdk.**{ *; }
在按照官網混淆配置說明文檔配置完成后,問題得到了解決。
欲了解更多詳情,請參見
原文鏈接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202381614273280299&fid=18