We want to update an existing Application but unfortunately we have a problem. Our keystore to sign up the app is not the same as the one we used in the previous version of the application. Therefore we can´t upgrade our existing app in the market. Is there any way to get the old key (certificate) from our previous version which is currently in the market place?
Is there any solution to upgrade our existing version with the new one we would like to publish in the store?
What happens to the users who have installed the current version if we delete this version in the marketplace and upload a the new version (with the same name)?
Do they get an update notification or do they have to install the new app?
thanks in advance
You must use the previously used certificate to sign your app if you want to upload an updated version to the market. If you use a new certificate to sign your app and try to upload it as a new version, it will fail. If you upload it as a new application, the existing users will not be informed of the update.
Edit - if you have your Keystore but forgot the alias, you can try to recover it.
http://www.google.com/support/androidmarket/bin/request.py?contact_type=contact_policy&policy=apps
I would email the Android Market guys, they have provided fixes for people before, they have moved whole apps over to a new account for people, so they may be able to help you with your issue. If not the post above is the best explanation, either new app and they will have to download or try to find the old keystore.. sorry man.. hopefully they can help
As far as what I know Its not possible to recover the same keystore anyhow , so you cant upgrade the existing Application. The only solution is you have to launch a complete new app.
Related
My app already in the play store. I made a few changes in my app and want to update it in the play store.
So do I need a new keystore when I create a new version of my app? or I can use with the same old one from the previous version(code)?
Thank you
You must use the same key !
Otherwise GPlay is not sure you are the same person who pushed the first version of that app.
You need to use your old keystore and update your version code and version name to update your app on play store and also database version if you are using sqlite database
Keystores are for to keep keys inside of it like a safe box. You have to use same key for same application. Think of it this way, a key as a signature of yours that you sign your application as a proof of that you did that application.
My keystore expire in 5 months later. if the keystore expired, how I update my app in play store and other markets?
What Should I do?
If key expire it seem impossible to update your app. So make new app same as your current app then sign it with new keystore, publish it. In old app make new update that force user to install your new app (Ex : When open app, show dialog that user need upgrade to continue using). That's only way i know.
Sorry for my English if you cant understand.
According to #stefan-ferst in this post.
The certificate validity is part of the certificate's signature. So
there is no way to change it in an existing certificate. The only
thing you can do is issue/get a new certificate with a longer
validity.
I assume to should publish another app changing applicationId. I'd use this remain time to update the app creating a campaign suggesting to current users to download the new app.
There is no way to update the application if you lost the keystore file. i will suggest create a new apk with new keystore and package name and upload.
There is Json2View Library
you can update your UI without update on google play so you can notify your users in old app!
I've reinstalled windows and accidentally removed the key-store file that I've used for my project. I try to make a new one, but something is not inserted like the last time(alias maybe.) Now I have a problem: When I start to update the.apk file I get the following message:
An existing package by the same name with a conflicting signature is already installed.
My application automatically checks for project updates (new version) on a private server. The problem is that some people already have an app on their phone.
My idea was to compare keys and if it's different to ask the user to remove old apps in some dialog or something like that.
Is something like this possible, if not what are my others options ?
Thanks.
You need to release a new app with a new packagename.
If you no longer have the keystore used to sign your first app, you can never update it again in Play Store.
If you distributed your app manually and have not released it via Play Store, your users can uninstall the app signed with the lost key and install the new one.
There is no way to show a dialog as you cannot update the app. You can only replace it as described above.
I have developed and published an app(version 1) on Developer console. Unfortunately my OS crashed, so I've lost my Key-store. Now I want to release an updated app (version 2). When trying to update it says "Certificate not matched". So how to update my app (version 2) in the place of app (version 1). I also want to give updates of this app(version 2) to users who are already using my app (version 1). Any suggestions are welcome...! Thanks in Advance..!
The only way to update an app is by building it using the same package name and keystore. It's called a keystore for a reason - it's your key to the app and nobody else can get at it. If you've lost it, there's nothing that can be done - even Google wouldn't be able to restore it for you. If you publish on Google Play, it's essential to keep a backup of your keystore to avoid this issue.
If you lost your keystore then you will not be able to release any update to existing app. There's no way to do that. So if you got no backup of your keystore then you are doomed.
Bad news for you - you won't be able to update your app - that's the whole idea with Key-stores.
See the docs here:
Application upgrade – As you release updates to your application, you must continue to sign the updates with the same certificate or set of certificates, if you want users to be able to upgrade seamlessly to the new version. When the system is installing an update to an application, it compares the certificate(s) in the new version with those in the existing version. If the certificates match exactly, including both the certificate data and order, then the system allows the update. If you sign the new version without using matching certificates, you must also assign a different package name to the application — in this case, the user installs the new version as a completely new application.
In other words - your app won't be treated as an update, rather as a new app.
Does anyone know why updates for a new version of an existing Android app would not be sent to existing users from the Market?
I recently pushed a few updates to my app hosted in the Android Market but I have received word that users might be having to uninstall and completely re-install my app to get the update as opposed to the normal update process.
I recently turned of Google's copy protection feature because it is getting deprecated soon. Could it be related to that?
I am signing it with the same key. The package name has stayed the same. I just uploaded a new .apk file and activated it.
Any thoughts or ideas would be greatly appreciate.
[Edit:] I have updated my versionCode for each new release.
Turns out that it does just take time for the updates to get pushed out. Thanks for everyone's comments!
As a side note, I was able to confirm with Google that even if you unpublish then republish your app ALL users should still get the updates. (http://matthew-moses.com/main/2012/01/31/pushing-updates-to-previously-unpublished-applications-in-the-android-market-place/)