当前知识库站点已不再维护。请移步新版知识库:https://help.rongcloud.cn/

FileProvider冲突问题

工程里有多个module应用FileProvider时,编译器在编译工程合并manifest文件时候就抛出了provider冲突问题,其中的authrities冲突了。
发布时间: 2018-03-30 15:11

回答:

应用中用的都是v4包提供的FileProvider类来读写文件的,会导致冲突。

所以我们自己在工程中重新写一个FileProvider类继承自系统的FileProvider类来读写文件就可以解决问题。


如果在编译成功后,启用拍照功能抛出异常:

exception:java.lang.RuntimeException: Please check IMKit Manifest FileProvider config. exception:java.lang.NoSuchFieldError: No field rc_authorities_fileprovider of type I in class Lio/rong/imkit/R$string;

请检查 manifest 文件有关 provider 配置的 authorities 属性 "FileProvider" 单词大小写是否填写正确


另外如果想自定义 authorities 字段中的后缀内容,在 IMKit 的资源目录中找到 rc_defaults.xml,将该 xml 中的 rc_authorities_fileprovider 标签内的内容修改为自己想要定义的后缀内容(默认为 .FileProvider ,包名部分不可修改,仅可修改后缀)即可。