问题描述
最近我们接入华为游戏SDK 6.1.0.301版本之后,在非华为手机上启动游戏,发现调用init接口后一直报907135003错误码。
在华为手机上测试初始化成功。
问题分析
我联系了华为技术支持(可以提个工单咨询)。复现该问题,并取全量日志,搜索关键词“HMSSDK_”,技术支持指出了报错信息:
2022-03-07 15:22:48.417 28789-28789/com.happyelements.AndroidAnimal E/HMSSDK_SystemUtils: isSystemApp Exception: android.content.pm.PackageManager$NameNotFoundException: com.huawei.appmarket
2022-03-07 15:22:48.423 28789-28789/com.happyelements.AndroidAnimal I/HMSSDK_UpdateManager: app is: com.huawei.appmarket;status is:NOT_INSTALLED
2022-03-07 15:22:48.429 28789-28789/com.happyelements.AndroidAnimal I/HMSSDK_UpdateManager: In getAndroidMarketSetting, configuration not found for android channel market setting.
2022-03-07 15:22:48.433 28789-28789/com.happyelements.AndroidAnimal I/HMSSDK_UpdateManager: typeList is empty, no upgrade solution
项目中缺少如下配置,且非华为手机上没有安装华为应用市场,所以就没有触发服务器升级。
可参考文档:配置元数据
问题解决
在“AndroidManifest.xml”的application中增加以下元数据,
配置元数据后,当非华为手机上未安装HMS Core,可以正常弹出hms core安装弹框,按照提示安装成功后,初始化成功,问题解决。