Signing and Generating an Android APK

APK is the executable binary file for ANdroid app. It’s like the EXE file for Windows. Before an APK file is distributed in the market (eg - Android Market), you need to sign the apps using the Keytool provided by the JDK.

Keytool is used to generate KeyStore is responsible for maintaining cryptographic keys and their owners This is needed to sign your Android app before publishing to the Android Market (

Signing Your apps

Before you begin, make sure that the Keytool utility and Jarsigner utility are available to the SDK build tools. Both of these tools are available in the JDK. In most cases, you can tell the SDK build tools how to find these utilities by setting your JAVA_HOME environment variable so it references a suitable JDK. Alternatively, you can add the JDK version of Keytool and Jarsigner to your PATH variable.

LINUX - If you are developing on a version of Linux that originally came with GNU Compiler for Java, make sure that the system is using the JDK version of Keytool, rather than the gcj version. If Keytool is already in your PATH, it might be pointing to a symlink at /usr/bin/keytool. In this case, check the symlink target to be sure it points to the Keytool in the JDK.

WINDOWS – Locate the keytool application. Normally it’s in the JDK installation folder, bin. For example in my PC it’s in C:\Program Files\Java\jdk1.6.0_29\bin .

locating keytool applicationFigure 1

Setting the PATH to point to your KEYTOOL

Right-click MyComputer icon on your desktop, and select Properties. Click the Environment Variables as in Figure 2.

environment variablesFigure 2

In the system variables, select PATH and click EDIT button (Figure 3).

changing pathFigure 3

Add the Java bin path to the Variable Value: C:\Program Files\Java\jdk1.6.0_29\bin as in Figure 4. Use the semicolon “;” to separate different variable value.

changing pathFigure 4



Generating the Android APK file.

Assuming you are familiar with handling Android project using the Eclipse and Android Development Tools, right-click on Project –> Export (as in Figure 5).

export android project Figure 5


export android project Figure 6: Choose Export Android Application.


keystore selection Figure 7: Choose Create new keystore.

create new keystore Figure 8: Define the keystore name for the key generated. And make sure to save the keystore file in your folder.

keystore key creationFigure 9: This is actually the GUI version of the keytool. That’s why you are needed to define the path to bin folder for your JDK. Complete the form and click Next.

Destination APK fileFigure 10: Finish

The Destination APK file is the place where the exporting tool will store the finalised APK to be published to the market. Locate the file.

Popular Posts