解決添加codova plugin 編譯出現問題:Execution failed for task ':processDebugManifest'.


問題背景:

  ionic3項目上,添加cordova-plugin-cszbar,編譯運行在android平台上 ,結果編譯不成功。出現以下問題。

Element uses-feature#android.hardware.camera at AndroidManifest.xml:23:5-84 duplicated with element declared at AndroidManifest.x
ml:17:5-60
E:\xxxx\xxx\xxx\app\platforms\android\AndroidManifest.xml Error:
Validation failed, exiting

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugManifest'.
> Manifest merger failed with multiple errors, see logs

多次移除安卓平台重新編譯依舊這個問題。

編譯后打開androidMainfest.xml文件在構建后有以下內容

<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" />

 

平台信息:

 

問題原因:

原因是我已經安裝了一個插件也是跟cordova-plugin-cszbar功能相同

解決方案:

1.最簡單的方法是移除我之前安裝的那個插件。

2.假如出現這種情況,兩個插件都想同時存在。因為這兩個插件他們都有相同的uses-feature.所以編譯后會將引用插件的重復的權限條目添加到了androidMainfest.xml,

添加好androidp平台后,打開AndroidManifest.xml文件,可以看類似於:<uses-permission android:name="android.permission.CAMERA" /> 刪除,重新構建,結果沒有報錯了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM