美文网首页
解决FileProvider引入冲突问题

解决FileProvider引入冲突问题

作者: 海本默 | 来源:发表于2019-10-23 11:40 被阅读0次

    在module中获取或创建Android7.0以上的uri试,我们要在module的AndroidManifest.xml文件中配置FileProvider,如:

    如果主项目中没有配置provider,则程序可以正常运行,如果主项目中也存在provider配置,就会出现冲突:

    manifest冲突

    看到这个冲突,我的第一反应是去搜索“Manifest merger failed with multiple errors”关键字,搜出来的,搜出来的答案一般是让你在module的AndroidManifest中配置tools,如下

    这种方法我试了加入icon,theme,authorities等标签都无效,只能通过其他途径解决,目前发现两种解决方案,一种是自定义FileProvider配置到module的AndroidManifest中,另一种是在module的provider标签下配置tools:replace而不是在application标签下配置

    1.在provider标签下配置tools:replace(SDK>=28)

    tools:replace="android:authorities"

    这种方法有个局限性,SDK要大于或等于28才生效

    2.自定义FileProvider类

    自定义一个类继承FileProvider类,然后配置到module的AndroidManifest中

    自定义类继承 FileProvider

    最后问题就解决了

    相关文章

      网友评论

          本文标题:解决FileProvider引入冲突问题

          本文链接:https://www.haomeiwen.com/subject/uwwhvctx.html