离子生成失败“在<清单>中发现意外元素<提供程序>”

时间:2018-10-29 11:07:14

标签: android cordova ionic-framework

我有此代码

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="nl.x-services.plugins.videocaptureplus.provider"
    android:exported="false"
    android:grantUriPermissions="true" >
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths" />
</provider>

但是,如果我尝试“ Ionic cordova run android”,则会出现此错误

https://pastebin.com/BAtL0VqK

该错误该怎么办?

6 个答案:

答案 0 :(得分:1)

问题似乎与VideoCapturePlus有关,因为我遇到了同样的问题。我已经将它换成MediaCapture,不再有这个问题。

答案 1 :(得分:0)

尝试从plugin / nl.x-services.plugins.videocaptureplus / plugin.xml中删除此code

答案 2 :(得分:0)

我修复了编辑平台/android/android.json

移动方块

step 1 进入“应用程序”块 step 2

答案 3 :(得分:0)

这是我做的顺序

npx cordova platform rm android --nosave
npx ionic cordova plugin rm nl.x-services.plugins.videocaptureplus
npx ionic cordova plugin add https://github.com/Neocrea/cordova-plugin-video-capture-plus\#patch-1
npx ionic cordova platform add android@latest

我使用了https://github.com/Neocrea/cordova-plugin-video-capture-plus\#patch-1,因为它具有解决该问题的必要补丁。这不是IMO的最佳解决方案,相反,您应该使用media capture插件,这是我们要迁移到的插件,但这是一个制胜法宝。

答案 4 :(得分:0)

确实有一个<provider>元素错误地注入了结果AndroidManifest.xml中。
该元素来自videoCapturePlus插件的plugin.xml文件。

  1. 在文件/node_modules/cordova-plugin-video-capture-plus/plugin.xml中,注释掉行

         <provider
                 android:name="android.support.v4.content.FileProvider"
                 android:authorities="nl.x-services.plugins.videocaptureplus.provider"
                 android:exported="false"
                 android:grantUriPermissions="true">
             <meta-data
                     android:name="android.support.FILE_PROVIDER_PATHS"
                     android:resource="@xml/provider_paths"/>
         </provider>
    
  2. 在命令行中,重新生成平台文件(android)

ionic cordoba build androidionic capacitor build android

  1. 在android studio中,重新运行gradle构建

答案 5 :(得分:0)

我已经解决了这个问题并且在我的 android 上完美运行,只需按照以下步骤操作:

  1. 在文件 platforms\android\android.json
  2. 删除数组“AndroidManifest.xml”中的以下代码:{ “父母”: { "/manifest/application": [ "/*": [ .... ]
<块引用>

{ "xml": "", “计数”:1 }

  1. 并将代码放入“应用程序”数组

enter image description here

再次构建:ionic cordoba build android(命令行)并在android studio中重新运行gradle build