仅为一个平台安装cordova插件

仅为一个平台安装cordova插件,cordova,blackberry-10,Cordova,Blackberry 10,我们想为(cordova 3.4.0 CLI)项目安装com.blackberry.app插件()。如果我尝试“cordovapluginaddcom.blackberry.app”,它将为android和blackberry10平台安装插件。因此,android应用程序崩溃。我尝试通过plugman仅为blackberry10平台安装此插件,但功能不起作用[尽管plugman说它已成功安装] 在CLI中是否有方法仅为一个平台安装插件 谢谢使用Plugman管理插件 安装Plugman

我们想为(cordova 3.4.0 CLI)项目安装com.blackberry.app插件()。如果我尝试“cordovapluginaddcom.blackberry.app”,它将为android和blackberry10平台安装插件。因此,android应用程序崩溃。我尝试通过plugman仅为blackberry10平台安装此插件,但功能不起作用[尽管plugman说它已成功安装]

在CLI中是否有方法仅为一个平台安装插件


谢谢

使用Plugman管理插件

安装Plugman

    $ npm install -g plugman
添加插件

    $ plugman --platform <ios|amazon-fireos|android|blackberry10|wp7|wp8> --project <directory> --plugin <name|url|path> [--plugins_dir <directory>] [--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]

按照此链接完全理解:

我发现,使其工作的唯一干净方法是修改三件事:

  • 编辑plugins/PLATFORM.js文件(例如plugins/android.js)并从“installed_plugins”数组中删除plugin对象
  • 对platforms/PLATFORM/www/cordova_plugins.js文件执行同样的操作,其中平台可以是ios、blackberry10、firefoxos等。在android情况下,平台将位于资产/www内部,而不仅仅是www
  • 最后一步是删除platforms/PLATFORM/www/plugins/中的插件目录。在您的情况下,它将是资产/www,而不仅仅是www

  • 通过plugman安装它并没有帮助(正如我之前所说的)。作为一种解决方法,从plugins/android.json文件中手动删除插件,android应用程序现在就可以工作了!您的解决方案看起来更好,但不幸的是,plugman在Cordova 5中有一些长期未解决的bug,目录结构略有改变。目录已改为
    platforms/PLATFORM/www/
    ,而不是
    platforms/PLATFORM/assets/www
    。这对我也很有用,但我必须做很多事情才能让我的版本控制运行良好。遗憾的是,cordova没有一种机制只为特定的平台安装插件。有没有一种方法可以通过Prefore prepare钩子来自动完成这项工作?@Joãopmentelferreira我实际上最终构建了一个脚本,用plugman安装、更新和卸载插件。由于开发人员正在更改和更新插件,并且在没有让团队匹配更新的情况下签入插件,所以最终需要它。我还得到了几个插件,它们只需要存在于Android或iOS上,而不需要同时存在于Android或iOS上
        $ plugman --uninstall --platform <ios|amazon-fireos|android|blackberry10|wp7|wp8> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]
    
        plugman -d --platform android --project myProject --plugin org.apache.cordova.battery-status