Android中由于authorities导致的“应用组件的命名与已安装应用有冲突”

Android中由于authorities导致的“应用组件的命名与已安装应用有冲突”_第1张图片

问题如上图所示,明明已经更改了app的applicationId,还是说冲突,有点不解,于是去了度娘查了一哈,最后找到了解决方法如下:

最后在一个群里有大佬问我是不是用到ContentProvider看一下两个apk中ContentProviderauthorities是不是没有做修改,因为是接手别人的项目而且数据库那一块就是升级而已,所以我知道在哪使用到ContentProvider但是一直没有仔细去研究,赶紧去一瞅原来是这个玩意坏了大事,哎……这时候才想起来ContentProviderauthorities就是为内容提供者指定一个唯一的标识,这样别的应用才可以唯一获取此Provider,同时App中自己的ContentProviderauthorities也不能和Android系统的authorities一致哦,之前的Android在开发中用了一个开源的jar,来实现ContentProvider和触发器来监听App中部分数据的变化,并且在代码中设置的authorities,当初我又匆匆忙忙的改完包名和部分配置文件就上线了,就因为两个APP的ContentProvider中authorities都是通样的结果Android就默认反馈应用组件的命名与已安装应用有冲突,使得同一个Android不能再安装新的apk,同时以后开发中为了避免和其他APP的authorities雷同,建议采用APP英文名+包名+类名来避免!小伙伴引以为戒啊。

引自(https://blog.csdn.net/black_bird_cn/article/details/79504487)


你可能感兴趣的:(Android中由于authorities导致的“应用组件的命名与已安装应用有冲突”)