Site icon Web Niraj

Cordova: Release Signing Android Applications

If you’re using Cordova 5.x+, it’s easy to configure it to also build signed release builds of your Android application. Providing you’ve already created a keystore using the keytool, this tutorial will have you building release builds in minutes, using the cordova build command.

Prerequisites

Before you start, you’ll need to create a keystore that will be used to sign the application. This can be done using the keytool that comes with Java.

$ keytool -genkey -v -keystore app.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

This will create a keystore called app.keystore, with alias alias_name. It will be valid for 10,000 days (~27 years). You will be prompted to enter a password to secure the keystore and alias.

Make a note of all the details you’ve used as we’ll need it to setup signing in Cordova.

Setup

Next, we need to create the configuration file Cordova will use to sign your release build. This is done by creating the release-signing.properties file in the platforms/android folder of your app.

In this file, you’ll need to add the following:

See the gist on github.

Each of the variables must match the details you used when creating the keystore (or in the Prerequisites step). If you didn’t enter passwords for the keystore (storePassword) or alias (keyPassword), these lines can be removed from the file.

Building and Signing

When you’re ready to build and sign your app, you can simply run the following Cordova command:

cordova build android --release

If the build is successful, the android-release.apk file will be generated in the platforms/android/build/outputs/apk folder. Keep an eye on the output to see if the build was successful, and to find the location of the file.

The above screenshot has been modified to hide intermediate output from the build process, and to redact confidential information.

If the file wasn’t setup correctly, or the changes didn’t take affect, the android-release-unsigned.apk file will be generated instead, indicating that the APK wasn’t signed. If this happens, try cleaning the build using cordova clean android, and trying again

Exit mobile version