解决 install failed conflicting provider的问题方法
在安装android应用时出现install failed conflicting provider问题,是不是感觉很抓狂呢,下面就跟大家分享一下出现这个问题的原因及解决方案。
问题原因
在android中authority要求必须是唯一的,比如你在定义一个provider时需要为它指定一个唯一的authority。如果你在安装一个带有provider的应用时,系统会检查当前已安装应用的authority是否和你要安装应用的authority相同,如果相同则会弹出上述警告,并且安装失败。
解决方案
在定义provider是,使用软编码的形式,如下:
<provider android:name="android.support.v4.content.fileprovider" android:authorities="${applicationid}.fileprovider" android:granturipermissions="true" android:exported="false"> <meta-data android:name="android.support.file_provider_paths" android:resource="@xml/file_paths" /> </provider>
上述代码中通过${applicationid}.fileprovider的形式来指定provider的authorities,所以该provider的authorities会根据applicationid的不同而不同,从而避免了authorities的冲突问题。
那么如何使用刚才定义的authorities呢?
我们在定义authorities是采用了applicationid+fileprovider的形式,在获取authorities的时候,我们就可以通过包名+fileprovider来获取,代码如下:
public final static string getfileprovidername(context context){ return context.getpackagename()+".fileprovider"; }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如对本文有疑问, 点击进行留言回复!!
android -- ndk (stack corruption detected)
Android Span富文本图文混排 - ImageSpan(图文垂直居中)
Element DateTimePicker日期时间选择器的使用示例
【Appium踩坑】小米手机,启动报错:exited with code 255 writing to settings requires:android.permission.WRITE_SECUR
android 拍照 预览图与 照片分辨率(可视区域)不一致
[PAT顶级]1025 Keep at Most 100 Characters (35分)
网友评论