问题背景
集成华为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
来源:oschina
链接:https://my.oschina.net/u/4478396/blog/4681676