仅为ONE平台安装cordova插件

con*_*bas 29 cordova blackberry-10

我们想为我们的(cordova 3.4.0 CLI)项目安装com.blackberry.app插件(http://plugins.cordova.io/#/package/com.blackberry.app).如果我尝试"cordova插件添加com.blackberry.app",它将安装android和blackberry10平台的插件.因此,Android应用程序崩溃.我尝试通过plugman只安装blackberry10平台的这个插件,但功能不起作用[虽然插件说成功安装]

CLI中是否有方法只为ONE平台安装插件?

谢谢

Luc*_* S. 28

我发现让它工作的唯一简洁方法是修改3件事:

  1. 编辑plugins/PLATFORM.js文件(例如plugins/android.js)并从"installed_plugins"数组中删除插件对象
  2. 平台/ PLATFORM/www/cordova_plugins.js文件做同样的事情,其中PLATFORM可能是ios,blackberry10,firefoxos等.在android案例中将内部资产/ www而不仅仅是www
  3. 最后一步是删除platforms/PLATFORM/www/plugins /中的插件目录.在你的情况下,它将是资产/ www而不仅仅是www

  • 可惜,cordova没有适当的机制来安装仅适用于特定平台的插件. (9认同)
  • 在Cordova 5中,目录结构略有变化.而不是`platforms/PLATFORM/www /`,目录已更改为`platforms/PLATFORM/assets/www`. (3认同)

Ami*_*ati 5

使用Plugman管理插件

安装Plugman

    $ npm install -g plugman
Run Code Online (Sandbox Code Playgroud)

添加一个插件

    $ 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> ...]]
Run Code Online (Sandbox Code Playgroud)

删除插件

    $ plugman --uninstall --platform <ios|amazon-fireos|android|blackberry10|wp7|wp8> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]
Run Code Online (Sandbox Code Playgroud)

连结这个:

    plugman -d --platform android --project myProject --plugin org.apache.cordova.battery-status
Run Code Online (Sandbox Code Playgroud)

遵循以下链接完全了解:http : //docs.phonegap.com/en/edge/plugin_ref_plugman.md.html

  • 您的解决方案看起来更好,但不幸的是,plugman 有一些长期未解决的错误 https://issues.apache.org/jira/browse/CB-5120 (2认同)