How to Publish to the Android Market

How to Publish to the Android Market

Tutorial Details
  • Technology: Android SDK
  • Difficulty: Beginner
  • Completion Time: 25 Minutes

So, you’ve finished developing your Android application after weeks of hard work and want to release your creation to the world? This article will guide you through the process of doing so.


Subsequent Changes to Techniques & Software

Certain aspects of applications or techniques used in this tutorial have changed since it was originally published. This might make it a little difficult to follow along. We'd recommend looking at these more recent tutorials on the same topic:

The Checklist

First and foremost, there are a few crucial checks you have to go through before getting your application ready. Ask yourself the following questions:

  • Have I tested my application extensively?

    If the answer to this is “not really,” then you need to head back and do some rigorous testing. In addition to basic tests on the emulator, you should also test your application on a real, physical device. In an ideal world, you would test on multiple hardware devices running different versions of the Android OS. Buggy code makes for poor sales and a worse reputation.

  • Does my application perform well?

    Performance is really important, especially if you’re programming a game. If your application is not responsive enough in certain cases, try to see if you can optimize those spots.

  • Have I decided on SDK compatibility?

    According to data collected around August 2, 2010, Android 1.6 is still active on 20.3% of devices that have accessed the Market and Android 1.5 enjoys 15.3%. Though Android 2.1 obviously dominates with nearly 60%, it may prove to be a good decision to support 1.6 if your application doesn’t require new features introduced in the later versions. In fact, some features like Move App to SD Card don’t even require 2.x to be set as the minimum supported SDK version.

todo
Distribution statistics from Aug 2, 2010. Source: Google

Getting your application ready

We’ll start off by opening AndroidManifest.xml and configuring it.

Step 1: Request necessary Android permissions

Make sure that you’re requesting all necessary permissions, otherwise your application won’t work. Examples for permission declarations include:

<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.REBOOT"/>

Step 2: Specify a name and icon

Name your application and give it an icon using the android:label and android:icon attribute in the application tag. For example:

<application android:label="@string/app_name" android:icon="@drawable/myIcon">

Step 3: Configure version manifest data

Pick a version your application using android:versionCode and android:versionName in the manifest XML tag. versionCode should have an integer value that you must increment for every application update, as this will be used by the system. It’s a common practice to start at 1.
versionName on the other hand represents a user-friendly value. Feel free to set this to whatever you think is appropriate – 0.1 or 1.0b or 2.4.1 would all technically work.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.example" android:versionCode="1"
            android:versionName="1.0.0">

Step 4: Set compatibility options

If you’re utilizing newer Android features that aren’t available in older versions, then you’ll have to specify a set of version requirements. To do this, create a bodiless XML tag named uses-sdk. The following attributes are at your disposal:

  • android:minSdkVersion The minimum Android platform API level on which your application will be able to run.
  • android:targetSdkVersion The API level that your application was designed to run on.
  • android:maxSdkVersion An upper limit for compatibility. Don’t set this unless you have a very good reason to.

Note that the API level refers to a special identifier. Here’s a handy table that you can refer to:

API LevelAndroid Platform Version
11.0
21.1
31.5
41.6
52.0
62.0.1
72.1
82.2

Step 5: Cleanup files and remove logging

Go through your project and remove any logging calls, old log files, private data and unwanted resource files.

Step 6: Sign and ZIP-align your application

One of very important distribution requirements is that Android applications must be digitally signed with a certificate that the developer holds. This is used to ensure the authenticity of an application, so it’s important that you pick a strong password for your private key and ensure that you keep it safe.

So to start off, you’ll need a private key in order to sign your final APK file, as the debug key that IDEs use sign your compiled apps by default can’t be used.

If you’re using Eclipse, you can use the Export Wizard, a friendly GUI-based tool. Even if you use a different IDE, it might prove to save a lot of time if you use Eclipse for exporting your application, unless of course your IDE offers the same functionality.

  1. Select the project and select File > Export.
  2. Open the Android drop-down and select Export Android Application
  3. Follow the wizard’s steps to compile, sign and ZIP-align your application.
todo
Create a new one for the first time or use an existing one.
todo
Your validity period must extend 2033 or else the Android Market will reject your app!

The alternative is to use the command-line based keytool, jarsigner, zipalign and/or a program like JAR Maker to take care of generating a certificate and signing the APK file with it. ZIP-alignment is an essential step as it provides a significant performance boost in terms of memory required for loading it.

Becoming a Market publisher

Registration

In the next section we’re going to examine the final steps of registering at the Android market and the process uploading your application.

  1. Register as a publisher and setup your profile.
  2. Read and agree to the Android Market Developer Distribution Agreement.
  3. Pay a registration fee of $25 USD via Google Checkout.

To publish applications on the Android Market, you must be a registered developer. Head over to http://market.android.com/publish and sign in with your Google account. Next, fill out all the required information along with your real phone number, which Google will use to contact you in the event of an emergency or a problem with any of your Android applications. If you can’t decide on a developer name, don’t worry. Just use your real name for now – you can always change that later via your profile page.

You should read the Android Market Developer Distribution Agreement carefully, as you are required to accept the terms and you will be legally bound to them upon paying the registration fee. While you’re at it, take a look at the official Content Guidelines.

Click the Google Checkout button and pay the one-time registration fee and you’re done!

Uploading an application

Login to your publisher account and click “Upload an Application”. Fill in all of the form data and include screenshots if you can and provide a precise, short and well-formatted description. You can also choose whether or not you want to release it as a free or paid app – though you need to be a registered Google Checkout Merchant to do the latter and it’s currently only available in a handful of countries. Lastly, click “Publish.” Congratulations, you’ve just successfully published an application to the Android Market!

Note: Want to add some source code? Type <pre><code> before it and </code></pre> after it. Find out more
  • http://thoughtsunlimited.net Ashwin

    Very nice article. Though I am yet to write my first Android app, I plan to bookmark it and use it when the time comes. Thanks.

  • http://diaryofanandroiddeveloper.blogger.com Ray

    I have just started a blog to accompany my efforts to develop an Android app. This will be a nice addition, a bit premature as I don’t even know what I am going to develop yet, but still good to know.

  • John

    Very nice! thank you for sharing this information. its has been very helpful!

  • http://www.thoughtdelimited.org/thoughts Brian Swartzfager

    Good article. I wrote up something similar a few days ago, but focused on what’s involved in filling out the form on the Market for posting your application (things like the sizes the screenshots can be, the maximum length of your app description, etc.). Here’s the URL: http://www.thoughtdelimited.org/thoughts/post.cfm/some-things-to-know-about-publishing-android-apps

  • suresh

    its really nice article………..
    thank u very very much…………
    could u plz tell me how to get ads to our app which is in market…
    and how can we get publisher id from admob

  • http://www.nesimtunc.com Nesim

    Thank you for the article. How about updating the new version on android market? is it same? what are differences?
    Thanks.

  • DogsboroDave

    This was EXACTLY what I was looking to find! Thank you for consolidating and making this easier.

  • Swati

    This was very nice and helpful artical.Thanks

  • Jaimin

    Hiii Hannes Holste,
    Thanks for such a great work of this chart…
    this has saved my lots of time for knowledging about android publishing…..
    thanks a lot….

  • CJ

    Love this article, and it clearly states each step you need to take in order to make your android app idea a reality.

    What I have negativity about is the use of google throughout this whole process. I have just coded my first app, after 3 long months of preparation, registered with google checkout and applied for a merchant account so I could set my app as a paid app and make some money from it.

    After 3 failed attempts at billing my credit card, I found my account was inactive because it refused to accept my Visa Debit card as means of payment. It also refused to accept my prepaid Mastercard.

    So, I created a new whole new account, including a new hotmail address, and used my girlfriends details and Visa mastercard to create an account. I left the website last night and was told it was “processing my account”.

    Have logged on this morning to find, it’s deleted my merchant account. With absolutely NO explanation. They said you should activate the account by sending google a photocopy of your drivers licence or passport, but most other bank related services online just verify your credit card, and be done with it! I have paid the $25 developers fee 4 times now, and not one has been accepted.

    Sick of this, sick of google, sick of the fact there is no plausible way to get a hold of anyone whom works for google, and sick of having what should be a simple job be complicated!

  • Ramesh Palleri

    Very nice article, To the point.
    Thanks

  • Aviad

    Does anyone know how do I change the credit name that appears beneath the application on the market ?
    I don’t wont it to be my name, but my company’s name…

    thanks

  • Sravan

    Good. But its also great if you could explain about any resources/images those are needed for Android Market particularly.

  • savita

    We have web based e-Library currently develop using Java technology and MySql. We are looking for individual company who can help us & converting this into a mobile app

  • Naveen

    Helped me a lot to release my first app in the market :)

  • sanjay

    very nice article!!! thanks and keep sharing. Helped me a lot to release my first app in the market :)

  • Judy

    Your “package name” is *NEVER* formatted like: “com.example”.
    In fact, that’s not even a “package name” at all.

  • Abcdef

    That was an incredible piece of guidance, Thanks a lot ! It helped me so much.

  • http://www.lateststory.co.cc Anvesh

    Thanks a lot. I am planning to write my first application and I just found your article. Thanks…..

  • Rober Dote

    Great! :)
    What’s the time for mi app to be visible in google play? minutes? hours? days?

    Thnks.
    Sry 4 my english.

  • Saritha
  • cmujica

    Nice Article

    But, someone has created a KeyStore? my app has created with Sencha Touch and Phonegap

    Thank you in advance

  • http://boletobest.com aaditya

    it costs 25 bucks . i used to think that it is free to publish on android market . is this 25 bucks fee is one time fee for unlimited apps or for each app.

  • http://www.geekware.in julie

    thanks buddy,im gonna open an account

  • Anil

    Thanks a lot

  • Rich

    Other than google play, where can i publish my app

    thanks.

    found my app in my website give me the feed backs

    http://www.richtown.ae/?q=content/contact-us

  • Arise Peter

    Alternatively you may go to this website below. It shows how to sign and publish an app in an easiest way using sreen shots and graphics.
    http://android-helper4u.blogspot.in/search/label/5.%20How%20to%20sign%20and%20export%20%20and%20publish%20APK%20application%20file%20in%20Andrioid

  • novaradix

    Please find full description for uploading app on market from here

    http://androiddeveloperspot.blogspot.in/2013/01/how-to-publish-android-application-in.html

  • http://www.facebook.com/andriangungon Andrian Gungon

    Sir I followed your tutorial but I had a problem when uploading to playstore “You uploaded an APK signed with a certificate that is not yet valid. You need to sign your APK with a certificate that is currently valid.” Please help. thanks

  • sathira

    nice arctice.very clear.thanks a lot