
怎么可能在清单中有多个相同类型的提供者?由于cordova相机插件带来了文件提供商,我们的应用程序无法再构建.在清单中我们有以下内容:
<provIDer androID:authoritIEs="${applicationID}.provIDer" androID:exported="false" androID:grantUriPermissions="true" androID:name="androID.support.v4.content.fileProvIDer"> <Meta-data androID:name="androID.support.file_PROVIDER_PATHS" androID:resource="@xml/provIDer_paths"/></provIDer><provIDer androID:authoritIEs="com.our.app.dev.fileprovIDer" androID:exported="false" androID:grantUriPermissions="true" androID:name="androID.support.v4.content.fileProvIDer"> <Meta-data androID:name="androID.support.file_PROVIDER_PATHS" androID:resource="@xml/file_provIDer_paths"/></provIDer>第一个条目来自相机插件,第二个来自我们的一个插件.
在生成过程中,会出现以下错误:
AndroIDManifest.xml:44:5-46:16 Error:Element provIDer#androID.support.v4.content.fileProvIDer at AndroIDManifest.xml:44:5-46:16 duplicated with element declared at AndroIDManifest.xml:41:5-43:16谢谢!
解决方法:
我认为这不是一个cordova问题,而是在androID构建过程中.至少我可以在简单的AndroID Studio和Gradle设置中重现它:
看来androID有两个具有相同名称属性的标签是不行的.我不明白为什么这是一个问题,只要你有不同的权限,它应该工作正常.但这也导致了一个解决方案:
在您的插件中(或您想要使用的插件的自己的分支).您创建自己的fileProvIDer.java,它只是扩展了原始的androID.support.v4.content.fileProvIDer
package com.our.app.dev;public class fileProvIDer extends androID.support.v4.content.fileProvIDer {} 在您的插件配置中,您链接到此fileProvIDer,它现在具有不同的包名称,从而避免此问题.希望这有用,对我来说似乎可以解决问题.
总结以上是内存溢出为你收集整理的android – 与Cordova一起使用manifest.xml中的重复FileProvider时出错全部内容,希望文章能够帮你解决android – 与Cordova一起使用manifest.xml中的重复FileProvider时出错所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)