当前位置:  开发笔记 > 前端 > 正文

Cordova Android重复使用来自两个插件的功能

如何解决《CordovaAndroid重复使用来自两个插件的功能》经验,为你挑选了4个好方法。

我使用两个不同的插件到cordova,它们都有相同的uses-feature,一个有android:required="false"一个没有.

这会导致构建时出错:

processDebugManifest
/path/to/project/platforms/android/AndroidManifest.xml:31:5 Error:
    Element uses-feature#android.hardware.camera at AndroidManifest.xml:31:5 duplicated with element declared at AndroidManifest.xml:27:5
/path/to/project/platforms/android/AndroidManifest.xml:32:5 Error:
    Element uses-feature#android.hardware.camera.autofocus at AndroidManifest.xml:32:5 duplicated with element declared at AndroidManifest.xml:28:5
/path/to/project/platforms/android/AndroidManifest.xml:0:0 Error:
    Validation failed, exiting
:processDebugManifest FAILED
.....
ERROR building one of the platforms: Error: /path/to/project/platforms/android/cordova/build: Command failed with exit code 1
You may not have the required environment or OS to build this project

编译后的清单在构建时具有以下内容:

...
    
    
    
    
    
    
...

有什么办法可以解决这个问题吗?


cordova版本5.4.1



1> 小智..:

我有使用cordova-plugin-camera和phonegap-plugin-barcodescanner的理智问题.我的修复:

ionic cordova platform rm android
ionic cordova platform rm ios    
ionic cordova plugin rm phonegap-plugin-barcodescanner
rm -r plugins
rm -r node_modules
rm package-lock.json

接下来删除package.json的phonegap-plugin-barcodescanner.跑:

npm install
ionic cordova platform add android

接下来做一个新的构建:

ionic cordova run android

接下来再次添加插件:

ionic cordova plugin add phonegap-plugin-barcodescanner



2> 小智..:

1.打开插件/ [你的插件名称] /plugin.xml

2.删除此行:

``

3.重建你的项目


这只是一个临时修复.任何时候我重新安装库,这个问题都会回来.我实际上对我的项目应用了类似的"修复",但我认为这是cordova中的一个问题,它不检查`uses-features`语句中的属性.
建议+1,但这应该由Cordova插件安装脚本解决.我们为多个应用程序自动化构建,这个问题打破了这个过程.
我经常遇到这个问题。即使从plugin.xml中手动删除条目也不能总是对其进行修复。即使它没有更新plugins文件夹中的内容,这就像是为构建而实时启动。非常令人沮丧。

3> Arthur..:

    除了删除plugins.xml文件中的重复行之外,还可以转到[your project] /platforms/android/android.json并删除文件中的重复行.

    在再次编译项目之前重新打开命令终端.



4> Ashwin..:

以下步骤帮助我解决了这个问题:

    从您的config.xml中删除重复的元素

    从platform / android / android.json文件中删除重复的对象。

    从platform / android / app / src / main / AndroidManifest.xml文件中删除重复的元素。

    关闭您的IDE /文本编辑器(特别是在使用VS Code的情况下)。

    现在运行“ cordova build android”。

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有