在开发Android应用时,有时在安装应用时,会提示 INSTALL_FAILED_CONFLICTING_PROVIDER 错误,如下图
这是因为你定义的provider的authority与系统中现有应用的冲突了
解决方法也很简单,在AndroidManifest.xml中找到provider的authority,将其改成别的值就好了。
但是如果项目中使用了第三方库中定义了provider,其已经打成了jar或aar包,那么就不能使用上述方法了
比如我在项目中使用了 tray 这个包,它在其自己的AndroidManifest.xml中定义了provider,如下图
tray_authority在value中定义为
这样如果系统中有应用使用了tray库,那么你的应用安装的时候就会提示错误
其解决方法也简单,可以在gradle文件中使用resValue函数对其进行重命名,如下图
修改后,应用就可以正常安装了