After having invested your time and efforts in developing the most creative Android application, you surely want to make it available to a larger audience. Go ahead and read this blog to find information on How to sign your Android applications and publish them to the market.
In this blog post, I am going to talk about the very basic steps that are mandatory to get application published in to Android Market. Android Market https://market.android.com is a store developed by Google for Android devices, it allows users to download published apps of different developers.
Follow the below procedure to generate a suitable .apk file for Android market.
1. Specify Version
To define the version information for application, set following attributes in the application’s manifest file:
android:versionCode - An integer value that represents the version of the application code
android:versionName – A string value that represents the release version of the application code
Versioning is required for following reasons:
- To check compatibility and dependency issues between applications.
- While Publishing and Upgrading the application to Android market
- It is also used in the Android Market to automatically offer application upgrades to users.
Here’s an example manifest file that shows the android:versionCode and android:versionName attributes in the <manifest> element.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.package.name" android:versionCode="2" android:versionName="1.1"> <application android:icon="@drawable/icon" android:label="@string/app_name"> ... </application> </manifest>
2. Signing of Application
Google expects a Signed copy of the application in order to verify the developer account. The Android system will not install or run an application that is not signed. In preparation of signing the application, you must first ensure that you have a suitable private key, if you don’t have any private key then generate it with following 2 methods.
A. Using Command line tools
B. Using Eclipse ADT
A. Using Command line tools
Following are the 4 processes to generate published .apk file.
a. Obtain a suitable private key
Use following command to generate a private key:
$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Command line attributes:
- -v = Verbose mode
- my-release-key.keystore = generated key file
- alias_name = alias name for application
- validity = expiry time here is 10000
The above command generates the keystore as a file called my-release-key.keystore. The keystore and key are protected by the passwords you entered. The keystore is valid for 10000 days.
b. Compile the application in release mode
To export an unsigned .apk from Eclipse follows th steps:
- Right-click the project in the Package Explorer
- Select Android Tools > Export Unsigned Application Package.
- Then specify the file location for the unsigned .apk.
c. Sign your application with your private key
When application package is ready to be signed, then you can sign it by using the Jarsigner tool.
$ jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name
Command line attributes:
- -verbose = Verbose mode
- my-release-key.keystore = generated key file.
- alias_name = alias name for application
- my_application.apk = unsigned application
While running the above command, Jarsigner prompts you to provide passwords for the keystore and key. It then signed the .apk file. Use following command to verify that your .apk is signed:
$ jarsigner -verify my_signed.apk
If the .apk is signed properly, Jarsigner prints “jar verified”.
d. Align the final APK package
Once you have signed the .apk with your private key, run zipalign on the file.The zipalign tool is available inside the Android SDK, tools/ directory folder. Follow the command to align your .apk file:
$ zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk
The input .apk must be signed with your private key before you optimize the package with zipalign
B. Using Eclipse ADT
Follow the steps to create a signed and aligned .apk by Eclipse ADT:
- Select the project in the Package and select File > Export.
- Open the Android folder, select Export Android Application, and click Next.
- The wizard now guide you the process of signing your application, including steps for selecting the private key or creating a new keystore and private key.
- Complete the Export Wizard and your application will be compiled, signed, aligned, and ready for distribution.
3. Preparing to Publish: A Checklist
Following checklist is useful while publishing android application to market.
- Complete your application testing extensively on an actual device
- Consider adding licensing support
- Specify an icon and label in the application’s manifest, you define the attributes android:icon and android:label in the <application> element of the manifest.
- Turn off logging and debugging and clean up data/files
- Remove the android:debuggable=”true” attribute from the <application> element of the manifest.
- Specifying an appropriate value for both the android:versionCode and android:versionName attributes of the <manifest> element in the application’s manifest file.
- Generate a private key by keytool utility and compile it with application by using release mode.
- In <manifest> file check that the proper permissions are used, so that user can grant permissions when application is installed in device.
For example:
<pre><uses-permission android:name="android.permission.CAMERA"></uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission></pre>
9. For supporting maximum screen sizes of devices used by customers, following attribute must be added in the Manifest file.
With these steps and procedures you are quite set to upload and disclose your Android application to the world .Some attractive screenshots along with a perfect description should get you going. So keep developing your applications with interesting UI and continue adding more innovative apps to the market and your portfolio. And if you encounter issues do write us back here and we shall surely reply.


