• 解决添加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:xxxxxxxxxxappplatformsandroidAndroidManifest.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" /> 删除,重新构建,结果没有报错了。

     

     

  • 相关阅读:
    详解应对平台高并发的分布式调度框架TBSchedule
    利用httpd配置虚拟目录创建下载站点
    在centos7下用http搭建配置svn服务
    centos7/rhel7下配置PXE+Kickstart自动安装linux系统
    centos7破解安装confluence5.9.11
    centos7破解安装jira6.3.6(含Agile)
    mysql5.6做单向主从复制Replication
    解决忘记mysql中的root用户密码问题
    centos7安装mysql5.6(rpm包安装)
    centos7/RHEL7最小化系统安装gnome图形界面
  • 原文地址:https://www.cnblogs.com/huangenai/p/7372138.html
Copyright © 2020-2023  润新知