Android 主程序与libmodule不同FlieProvi
2019-10-29 本文已影响0人
小小程序员jh
本来项目只有一个fileprovider,配置信息是这样的,
<!-- 7.0文件存储需要配置的部分 -->
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths" />
</provider>
因为引入一个module, 人家的代码是这样的,
<provider
android:authorities="${applicationId}.fileprovider"
android:name="android.support.v4.content.FileProvider"
android:grantUriPermissions="true"
android:exported="false">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths"/>
</provider>
但是运行出现冲突看到是这个问题,头就很大,根本不知道是什么原因好吧
以前也遇到过,但是有些忘记了还是要用搜索引擎,找到了这篇文章
完美解决主工程与lib库的FileProvider冲突
但是自己的项目应该怎么配置还是实际看看吧,按照人家说的试试吧,分为几步:
- 创建自定义provider
public class MyFileProvider extends FileProvider {
}
- 将主程序的android:name="android.support.v4.content.FileProvider"改成android:name=".MyFileProvider"
<!-- 7.0文件存储需要配置的部分 -->
<provider
android:name=".MyFileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths" />
</provider>
然后我们在运行项目就不会有问题了,特此记录,有什么不合理的或者不对的地方请留言,我们一起进步!