I am using two different plugins into cordova, which both have the same uses-feature
, one with android:required="false"
and one without.
This results in an error upon build:
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
The compiled manifest has the following when built:
...
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
...
Is there anything I can do to fix this?
cordova version 5.4.1
In addition to removing duplicate lines in plugins.xml file, go to [your project]/platforms/android/android.json and remove duplicate lines in the file as well.
Reopen your command terminal before compiling the project again.
simple cmd for your problem:
I had the sane issue with cordova-plugin-camera and phonegap-plugin-barcodescanner. My fix:
Next remove the phonegap-plugin-barcodescanner of the package.json. Run:
Next do a new build:
Next add the plugin again:
1.Open plugins/[your plugin name]/plugin.xml
2.remove this line:
3. rebuild your project
The following steps helped me solve this problem:
Remove duplicate elements from your config.xml
Remove duplicate objects from platform/android/android.json file.
Remove duplicate elements from platform/android/app/src/main/AndroidManifest.xml file.
Close your IDE/Text Editor (Specially if you are using VS Code).
Now run 'cordova build android'.
This is how it finally worked for us in our
Ionic 3
project. You should remove one of the duplicate entries fromplatforms/android/AndroidManifest.xml
:And also from
platforms/android/android.json
:PS: We do this tweak only when adding the Android platform, not at every build.