Skip to content
Apache Cordova grunt plugin.
JavaScript Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

grunt-cordova-ng v0.2.7 Build Status

Apache Cordova grunt plugin.

Getting Started

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-cordova-ng --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:


Cordova Task

Run this task with the grunt cordova command.

Task targets, files and options may be specified according to the Grunt Configuring tasks guide.

Task Action
cordova:prepare Run cordova prepare command.
cordova:compile Run cordova compile command.
cordova:build Run cordova build command.
cordova:package-files Copy apk and app to dist directory.
cordova:package Run cordova build command and cordova:package-files task
cordova:emulate Run cordova emulate command.
cordova:run Run cordova run command.
cordova:platform Run cordova platform command.
cordova:plugin Run cordova plugin command.

Package files Task (Android and iOS and Firefox OS only)

Run this task with the grunt cordova:package-files or grunt cordova:package command.

Copy *.apk or *.app to dist directory, if run cordova:package-files or cordova:package task.

grunt cordova:package
Running "cordova:package" (cordova) task

Running "cordova:build" (cordova) task

Running "cordova:package-files" (cordova) task
Copy to dist/android/CordovaApp-debug-unaligned.apk.
Copy to dist/android/CordovaApp-debug.apk.
Copy to dist/ios/emulator/

Done, without errors.

When iOS device build, ipa file is created.

grunt cordova:package --cordova-platforms=ios --cordova-device=device
Running "cordova:package" (cordova) task

Running "cordova:build" (cordova) task

Running "cordova:package-files" (cordova) task
Copy to dist/ios/device/HelloCordova.ipa.

Done, without errors.

When Firefox OS, and www file is created.

grunt cordova:package
Running "cordova:package" (cordova) task

Running "cordova:build" (cordova) task
Cleaning Firefoxos project
Firefox OS packaged app built in platforms/firefoxos/build/

Running "cordova:package-files" (cordova) task
Copy to dist/firefoxos/
Copy to dist/firefoxos/www.

Done, without errors.

Post sign script

If you run cordova:package and cordova:package-files task, post sign script generated.


Generate a private key.

keytool -genkey -v -keystore ~/HelloCordova.keystore -alias HelloCordova -keyalg RSA -keysize 2048 -validity 10000
chmod 600 ~/HelloCordova.keystore

Create a config file. (./resources/android/config)


Run cordova:package task.

grunt cordova:package --cordova-platforms=android --cordova-build=release

Run post sign script.

Enter Passphrase for keystore: ******


Verification succesful

dist/android/CordovaApp-release.apk is created.


Modify cordova iOS platform platforms/ios/cordova/build-release.xcconfig. Comment CODE_SIGN_*.


// XCode Build settings for "Release" Build Configuration.

#include "build.xcconfig"

//CODE_SIGN_IDENTITY = iPhone Distribution
//CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution

Download distribution provisioning profile from Member Center Provisioning Profiles. And copy to ./resources/mobileprovisions/release.mobileprovision.

mkdir -p ./resources/mobileprovisions
cp ~/Download/distribution.mobileprovision ./resources/mobileprovisions/release.mobileprovision

Run cordova:package task.

grunt cordova:package --cordova-platforms=ios --cordova-build=release --cordova-device=device

Run post sign script.



Results at '/path/to/project/dist/ios/HelloCordova.ipa'

dist/ios/HelloCordova.ipa is created.

If you want to use the other provisioning profiles, you can use the "--mobileprovision" argument.

cp ~/Download/adhoc.mobileprovision ./resources/mobileprovisions/adhoc.mobileprovision
grunt cordova:package --cordova-platforms=ios --cordova-build=release --cordova-device=device

./dist/ios/distribute --mobileprovision=adhoc

Cordova Platform Task

Run this task with the grunt cordova:platform command.

# list cordova platforms.
grunt cordova:platform:list

# add cordova platform.
grunt cordova:platform:add:android

# remove cordova platform.
grunt cordova:platform:remove:android

# update cordova platform.
grunt cordova:platform:update:android

# check cordova platforms.
grunt cordova:platform:check

Cordova Plugin Task

Run this task with the grunt cordova:plugin command.

# list installed plugins.
grunt cordova:plugin:list

# search plugins.
grunt cordova:plugin:search:console

# add cordova plugin.
grunt cordova:plugin:add:org.apache.cordova.console

# remove cordova plugin.
grunt cordova:plugin:remove:org.apache.cordova.console



Type: String Default: empty

Cordova project root path.


Type: Array String Default: empty array

Building with cordova platforms.


Type: debug release Default: empty string

Bulding type. Use --debug or --release cordova option.


Type: device emulator Default: empty string

Device type. Use --device or --emulator cordova option.


Type: 'String' Default: empty string

Run or emulate target id. Use --target= cordova option.


Type: 'Object' Default: not defined

Debug build's options.


Type: 'Object' Default: not defined

Release build's options.

Environment options

It is possible to override the set in the environment variables.

# cordova emulate ios --target=iPad
grunt cordova:emulate
Environment Name Value
GRUNT_CORDOVA_NG_PLATFORMS ios,android (Comma separated platforms)
GRUNT_CORDOVA_NG_BUILD debug or releaase
GRUNT_CORDOVA_NG_DEVICE device or emulator

Grunt arguments

It is possible to override the set in the grunt arguments.

# cordova emulate android --target=avd1
grunt cordova:emulate --cordova-platforms=android --cordova-target=avd1
Environment Name Value
--cordova-platforms ios,android (Comma separated platforms)
--cordova-build debug or releaase
--cordova-device device or emulator
--cordova-target iPad (Cordova Target)

Using Example

Build options

In this example, running cordova build android --release.

// Project configuration.
  cordova: {
    options: {
      platforms: ['android'],
        build: 'release'

And run.

grunt cordova:build

Release or debug build

To the release build. (Run cordova build --release --device.)

grunt cordova:build:release

To the debug build. (Run cordova build --debug --emulator.)

grunt cordova:build:debug

Can use in any other command.

grunt cordova:emulate:debug

To change release or debug build options.

// Project configuration.
  cordova: {
    options: {
      releaseOptions: {
        build: 'release',
        device: 'device'
      debugOptions: {
        build: 'debug',
        device: 'emulator'
You can’t perform that action at this time.