从华为应用市场下载安装游戏,提示冲突:存在相同的内容提供者
问题描述
游戏上线后,收到现网用户反馈,不能同时安装我们的两款游戏。
操作步骤如下:从华为应用市场下载并安装游戏A,安装成功,再下载安装游戏B,提示安装失败,失败原因:“存在同名的内容提供者(错误码:-13)”

问题分析
根据玩家的反馈,我们自己也测试了下,同玩家反馈一致。
我们不从华为应用市场下载安装,直接安装我们自己的apk文件,发现报错:

这里面提示是这个spoofprovider重复,查找项目androidmanifest.xml文件里面spoofprovider的位置,如图:

我们两个游戏的CheckHmsProvider都如上图所示,所以造成的冲突。
但是有疑问,华为sdk不支持同一家开发者接入多个应用吗?这个冲突应该怎么修改?
问题解决
带着问题咨询了下华为技术支持(可提单联系),在确认我们使用ecplise方式集成华为游戏sdk后,他们给出回复:

华为ecplise集成sdk文档里面说明要将上图中红线框住的几个工程对应的AndroidManifest.xml文件中的位置替换为自己的应用包名,但是base sdk 5.3.0.300下载下来对应的provider里就直接写死了authorities,如图:

所以我们在接入的时候漏掉了HMSSdkDevice中的spoofprovider,没有修改为自己应用的包名,因此造成的冲突。
华为技术支持就这点给出的回复是base sdk在5.3.0.300版本里引入了CheckHmsProvider,这个版本的provider写死了authorities(我们出现问题也是下载的base sdk 5.3.0.300),在下个版本5.3.0.301已修复,所以也直接升级base sdk。
最后,我们这边按照华为官方文档补充修改,问题解决。
这里贴下华为技术发的ecplise方式集成游戏sdk的链接以供大家参考。
链接:
- 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
- 如您发布的内容为转载内容,请注明内容来源。
我要发帖子








































苏公安网备 32011402010933号