Publishing an app to Google Play is not a simple task as they are mentioned in online stuff. I experience lot much when I tried to publish my own app to Google Play market. Hence I drived me to write a blog to help anyone who is facing similar issues as faced by me.
In simple words, any android application must be digitally signed before deploying it to any device and make it work. During development process you need to sign your app with something like debug.keystore before deploying .apk to device or Emulator. But Eclipse ADT do all this stuffs itself and makes our work easy. App signed with debug.keystore should not be published to android market since it won’t run on any other device. So, in order to make our to work at different device we need to digitally sign our app with something called let say release.keystore.
So I will discuss about release.keystore here, as you completed your development and its time to release your app, please follow the below procedure to create release.keystore then sign .apk publish app to market.
1) Open Eclipse ADT, Open the required project, Go to File > Export > Export Android Application > Next > “Select name of the app” > Next.
2) If you done the above steps, Now you will be at the below screen.
3) If you are doing this procedure for the first time. Check “Create new keystore“. Choose any “Location” for the new keystore. Choose any required “password“.
4) Clicking “Next” will drop you at below screen. Enter your own “alias“, “password” and other fields click “Next”
5) Now choose any destination for resulting signed .apk to be released at market and click “Finish“.
6) On clicking “Finish“, a file named “dummy.keystore” and a “QforQuest.apk” is created at prescribed location. Thats it! your app is ready to be published at Google play. Choose above created .apk which is digitally signed with your release keystore dummy.keystore to publish at Google Play. Beware!! backup “dummy.keystore“(release keystore) without fail since to release any updated version of your app to android market you need to sign the .apk file with same keystore which was used earlier to sign you .apk file. Google will not accept your updated version of app when signed with some other keystore. Hence Ultimately you will be not able to release the updated versions for your apps. My suggestion is just upload your release keystore to your Cloud database if available.
7) Next time when you release updated version to your app just check “Use existing keystore” and choose required release keystore.
Up to this every thing is fine … You can release your app to market.
Issues with Google Maps V2..
If your app uses Google Maps V2, please follow the below mentioned extra procedure.
A) Everything is similar as described earlier. An additional step is to get New API_KEY from developer console and replace with old API_KEY which was used during development.
B) API_KEY which we add in manifest.xml, is created based on SHA1 fingerprint, which is different for release mode keystore.
C) I faced lot of problems because of this Google Maps V2. I followed below procedure and succeeded.
1) Do again Step1 to Step 6.
2) After Step 6 you may get as below
3) Note down the SHA1 finger print, use the same to get API_KEY again from “Google Play Developer Console” for more on this.
4) Replace the old API_KEY with the new API_KEY inside manifest. In short you are replacing the API_KEY of debug keystore with API_KEY of release keystore using their respective SHA1 finger print.
5) Again do Step 1 to Step 7 and upload your final .apk you won’t face any problem again.
Hope this helps…!