android7.0对文件的访问权限进行了限制,所以要使用FileProvider,有关使用大家可以在网上搜索,资料很多,这里我说一下遇到的一个问题。
fileprovider相关的配置结束后,进行编译,结果报以下错误
Error:Execution failed for task ':app:processDebugManifest'. > Manifest merg failed with multiple errors, see logs
进行了一些搜索之后,有几种说法是,可以参考下面这篇博客http://blog.youkuaiyun.com/qq_33785670/article/details/52455241
关于我遇到的情况,我想到的就是使用了一个之前自己封装好的类库,在那个类库中我在AndoridMainifest中声明了一个provider,但是那个类库还暂时没有用到需要访问手机存储,然后在当前工程中也声明了一个provider,仔细对比了一下,两个引用的xml文件名不一致,我想可能和这个有关,于是就把工程中的xml文件去掉,类库中的xml文件补充一下,然后重新发布,在工程中使用最新发布版本,并且引用类库中的xml文件,编译通过!
就是下面resource中的引用,名称一致就行了
<provider
android:authorities="${applicationId}.fileprovider"
android:name="android.support.v4.content.FileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths" />
</provider>