問(wèn)題背景
集成華為HMS SDK后的游戲,華為方在審核時(shí)替換駁回,表示的原因是:在未安裝或需要更新華為移動(dòng)服務(wù)版本( HMS Core )的手機(jī)上,啟動(dòng)游戲提示安裝華為移動(dòng)服務(wù)( HMS Core ),點(diǎn)擊安裝,測(cè)試后提示'檢查華為移動(dòng)服務(wù)( HMS Core )更新失敗'。
該問(wèn)題的修復(fù)建議如下:可以先嘗試定位修復(fù)異常;定位過(guò)程中,如無(wú)法卸載移動(dòng)服務(wù)( HMS Core )或無(wú)更新提示,請(qǐng)使用非華為移動(dòng)電話進(jìn)行測(cè)試。
問(wèn)題復(fù)現(xiàn)和日志
找了一個(gè)vivo手機(jī),應(yīng)用管理中搜索華為移動(dòng)服務(wù)或HMS Core ,然后卸載,應(yīng)用啟動(dòng)復(fù)現(xiàn)這個(gè)場(chǎng)景。確實(shí)復(fù)現(xiàn)了該問(wèn)題:
全量日志分析報(bào)錯(cuò):
09-29 16:41:57.700 I/HMSSDK_HMSPackageManager( 8010): current versionCode:20502311, minimum version requirements: 40000000<font></font>
09-29 16:41:57.702 I/updatesdk( 8010): UpdateSDK version is: 2.0.6.302 ,flavor: envrelease ,pkgName: com.XXX.huawei<font></font>
09-29 16:41:57.714 E/StoreTask( 8010): UpdateSDK call store error: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0<font></font>
09-29 16:41:57.751 I/HMSSDK_UpdateWizard( 8010): CheckUpdateCallBack status is 6<font></font>
09-29 16:41:57.752 E/HMSSDK_UpdateWizard( 8010): checkTargetAppUpdate reason is java.lang.ArrayIndexOutOfBoundsException: length=0; index=0<font></font>
09-29 16:41:57.752 E/HMSSDK_UpdateWizard( 8010): onUpdateStoreError responseCode: 6<font></font>
09-29 16:41:57.765 I/HMSSDK_UpdateWizard( 8010): Enter onCheckUpdate, status: CHECK_FAILURE<font></font>
09-29 16:41:57.768 I/HMSSDK_HMSPackageManager( 8010): current versionCode:20502311, minimum version requirements: 40000000
問(wèn)題原因
最后和華為的技術(shù)支持溝通, onUpdateStoreError響應(yīng)代碼:6這個(gè)錯(cuò)誤代碼表示查詢更新信息失敗,該錯(cuò)誤是因?yàn)槲覀儧](méi)有排除如下替換:
-keep類com.huawei.updatesdk。** {*; }
在按照官網(wǎng)糾正配置說(shuō)明文檔配置完成后,問(wèn)題得到了解決。
欲了解更多詳情,請(qǐng)參見(jiàn)
官網(wǎng)重構(gòu)配置:https : //developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/config-obfuscation-scripts-0000001050166287