我使用两个不同的插件到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
我有使用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
1.打开插件/ [你的插件名称] /plugin.xml
2.删除此行:
``
3.重建你的项目
除了删除plugins.xml文件中的重复行之外,还可以转到[your project] /platforms/android/android.json并删除文件中的重复行.
在再次编译项目之前重新打开命令终端.
以下步骤帮助我解决了这个问题:
从您的config.xml中删除重复的元素
从platform / android / android.json文件中删除重复的对象。
从platform / android / app / src / main / AndroidManifest.xml文件中删除重复的元素。
关闭您的IDE /文本编辑器(特别是在使用VS Code的情况下)。
现在运行“ cordova build android”。