Package couldn't be install... & provider is already used by ...

描述

将原来项目中的Library导入到新项目中。
当手机上安装着原来的项目时,将新项目运行到手机上时,报错:


image.png

当然,两个项目包名相同时,也会报上述类似错误(子module可以相同)。
这次的罪魁祸首就是 content provider,跨进程通信。
想一想就可以理解了,如果两个provider相同,并且安装到同一个手机上,那么接受消息时就会混乱了。

解决

 <provider
            android:name="com.*.IMProvider"
            android:authorities="com.*.ipc.provider"
            android:exported="false"
            android:process=":core" />

最重要的就是 authorities ,这个属性绝对不能相同,其他可以(亲测)。
authorities 是唯一标识这个 provider 的,不能相同。

所以修改两个项目 authorities 不相同就可以了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容