問題背景
集成華爲HMS SDK後的遊戲,華爲方在審覈時予以駁回,給出的理由是:在未安裝或需更新華爲移動服務版本(HMS Core)的手機上,啓動遊戲提示安裝華爲移動服務(HMS Core),點擊安裝,測試後提示‘檢查華爲移動服務(HMS Core)更新失敗’。java
該問題的修復建議以下:能夠先嚐試定位修復異常;定位過程當中,如沒法卸載移動服務(HMS Core)或無更新提示,請使用非華爲手機進行測試後根據日誌排查緣由。ide
問題復現和日誌
找了一個vivo手機,應用管理中搜索華爲移動服務或HMS Core,而後卸載,應用啓動復現這個場景。確實復現了該問題:測試
全量日誌分析報錯:ui
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這個錯誤碼錶示查詢更新信息失敗,該錯誤是由於咱們沒有排除以下混淆:spa
-keep class com.huawei.updatesdk.*{ ; }日誌
在按照官網混淆配置說明文檔配置完成後,問題獲得瞭解決。code
欲瞭解更多詳情,請參見blog
官網混淆配置:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/config-obfuscation-scripts-0000001050166287遊戲
原文連接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202381614273280299&fid=18圖片