今天遇到一个问题,有用户反馈从华为应用市场下载一个新应用时,提示安装失败。
打开提示信息,查看失败详情。看到具体的失败信息是Conflicting Provider,Error Code:-13。另外系统还提示了和产生冲突的应用名称以及推荐的解决方法。
一般提示Provider冲突时,很大可能是ContentProvider相同导致的。ContentProvider是Android的四大组件之一,但是平时用得比较少。ContentProvider一般用于跨进程通信,进行进程间的数据交互和共享。这个特性决定了ContentProvider只能全局唯一,一旦有应用先在手机上注册了同名的Provider后,后面安装的应用就不能再使用相同的名字,安装时就会出错。
检查这两个冲突的APK,果然在AndroidManifest.xml文件里看到相同的Provider设置:
和开发者商量之后,修改了其中一个应用的ContentProvider的信息,增加了本应用的包名信息,再安装就成功了,问题解决。
原文链接:https://developer.huawei.com/...
原作者:Mayism