Error:Execution failed for task ':app:processDebugManifest'

来源:互联网 发布:知乎融资 编辑:程序博客网 时间:2024/05/19 18:41

我遇到有几种情况,简单说明下

第一种

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute meta-data#android.support.FILE_PROVIDER_PATHS@resource value=(@xml/filepaths) from AndroidManifest.xml:393:17-50
  is also present at [com.jph.takephoto:takephoto_library:4.0.3] AndroidManifest.xml:24:17-51 value=(@xml/file_paths).
  Suggestion: add 'tools:replace="android:resource"' to <meta-data> element at AndroidManifest.xml:391:13-393:53 to override.

看到说明也明白是为什么报错,修改下就成功了。造成这个问题的原因是因为,我在自己的应用中使用了FileProvider,然而依赖库中也是用了FileProvider,所以造成了这个问题的出现,按照提示进行修改,就不会再保存了

Android 从 N 开始不允许以 file:// 的方式通过 Intent 在两个 App 之间分享文件,取而代之的是通过 FileProvider 生成 content://Uri 。如果在 Android N 以上的版本继续使用 file:// 方式分享文件,则系统会直接抛出异常,导致 App 出现 Crash

第二种

使用FileProvider的相关配置后,Manifest文件中权限重复也出现了这种问题,去重就好了

第三种

就是依赖的库和targetSdkVersion版本号不一致导致的,需要统一下

所以要注意系统的适配,关于FileProvider的使用网上有很多,这里不多讲,可以看看这个http://blog.csdn.net/duanyy1990/article/details/68961159

阅读全文
0 0
原创粉丝点击