Skip to content
Plugins for Cordova
JavaScript C++ HTML CSS Makefile

BlackBerry 10 Cordova Plugins

This repo contains plugins for Apache Cordova that expose functionality of the BlackBerry 10 platform.

Using Cordova BlackBerry Plugins


  1. Install WebWorks

Adding project plugins

  1. cdproject
  2. webworks plugin addplugin_name

Updating project plugins

To update a plugin, run:

  1. webworks plugin removeplugin_name
  2. webworks plugin addplugin_name

Using custom built plugins

  1. webworks plugin add plugin_name --searchpathpath_to_custom_plugin_directory

Maintaining / Creating Plugins

Build Prerequisites

  1. Install node and npm and add to path
  2. Install BlackBerry Native SDK if you need to build JNEXT extensions
  3. [Windows] Add git.exe to PATH, i.e. Git Installation Directory\bin
  4. Install [jake] globally (npm install --global jake)
  5. Install [jshint] globally (npm install --global jshint)

Setup and Build

  1. git clone
  2. cd cordova-blackberry-plugins
  3. git fetch origin
  4. git checkout master
  5. npm install to install dependencies
  6. Setup bbndk environment variables: (must be done within each session, prior to jake)
    • [Mac/Linux] sourceBBNDK installation directory/
    • [Windows] BBNDK installation directory\bbndk-env.bat
  7. jake build - check that there are no errors

Running Tests

  1. jake test - to run js tests using nodejs
  2. jake hint - to run jshint on the JavaScript source
  3. jake - default is to build, run tests and jshint

Note: To see a full list of commands available with jake, use jake -T.


  1. cpplint is used for linting C++ code. Source code is located under dependencies/cpplint
  2. JNEXT is used to build extensions Original source of JNEXT Modifications are available in source code and located under dependencies/jnext_1_0_8_3


General Architecture

  • client.js – The extension's public API
  • index.js – Loaded by Cordova and only accessible across the cordova.exec bridge
  • manifest.json – Metadata for the extension
  • native – Contains all the native code for the JNEXT extension
  • test
    • integration – test app spec using Jasmine browser tests
    • unit – unit tests using jasmine. Keeps the same folder structure as the code

How to build an extension?

Extensions are all under the plugin/ folder. An extension must at least contain the following:

  • manifest.json – metadata for the extension
  • client.js – Front facing API, this is injected into the App's content
  • index.js – Controller loads this part of the API

If your extension requires native C/C++ code, a native JNEXT extension is needed. There is a sample and there are detailed docs.


To contribute code to this repository you must be signed up as an official contributor.

  1. Fork the cordova-blackberry-plugins repository
  2. Make the changes/additions to your fork
  3. Send a pull request from your fork back to the cordova-blackberry-plugins repository
  4. If you made changes to code which you own, mention a committer listed below to have your code merged using @user notation.


Other related Repos

Something went wrong with that request. Please try again.