I am trying to upgrade my android application in android market. I had updated version code and version name in manifest file.
android:versionCode="3" android:versionName="2.0"
I had used the same key for sign the application. I am getting error as 'The APK must be signed with the same certificates as the previous version'. How can i upgrade my app.
You have to have the same keystore file which you have used to upload the 1st version of application on android market. If you have lost this keystore file then you can't provide update to this application.
So in your case, you have to have that keystore file, sign the version 3 apk with this keystore file and upload on the market.
From Android doc: Publishing Updates on Android Market
Publishing Updates on Android Market
At any time after publishing an application on Android Market, you can
upload and publish an update to the same application package. When you
publish an update to an application, users who have already installed
the application may receive a notification that an update is available
for the application. They can then choose to update the application to
the latest version.
Before uploading the updated application, be sure that you have
incremented the android:versionCode and android:versionName attributes
in the element of the manifest file. Also, the package name
must be the same as the existing version and the .apk file must be
signed with the same private key. If the package name and signing
certificate do not match those of the existing version, Market will
consider it a new application, publish it as such, and will not offer
it to existing users as an update.
You must use the same key and the same key alias.
Related
we are developing a mobile application for one of our clients, and the client currently has an app version on Google's Play Store.
The current app has been developed by an external vendor A, so our client has been uploading the apps with his signature.
Now, we want to go on production with the new app developed by us (We are the vendor B).
The client has given us the keystore file used for signing, the key alias and the password, so we are able to generate an APK with the same package name (com.myclient.myapp). We are signing with V1 (The same way the old app has been signed).
The problem starts when we try to update from the old app to the new one. In an Android device, we install old app, and then we try to update to the new one. Android does not allow us to install the new signed APK because understands that the signatures of both apps seems to be different.
We need help on this topic. Can you please help? Thanks a lot in advance!
The package name's should not be matched with the earlier vendor with your changes.
Check the gradle versions before generate the signed APK and upload to playstore.
Check in the manifest the version name and version code are updating.
While generating the signed APK check the check boxes of all with signed full APK.
"App signing by Google Play" is a two step process. You sign the APK with an upload key and then Google checks this signature and resigns the APK with another key.
If this was used for the old App you will not be able to upgrade an App downloaded from the store with one that was locally signed because the signature key is different.
It will however work if you upload the new App to the Play Store.
I developed an android app in 2016. Then some gradle files has been deleted accidentally.
Now i want to update and upload my application on Google play. But old source code was not accepting phone to connect while debugging and even not building.
I already have release signature key
package name.
All source code without gradle part.
Can I create another fresh app in android studio with same package name and source code.
New created debug application will work on every phone I know but when I signed it with my previous release key and upload it in Google play will it be accepted or not?
As long as the package name and signing certificate are the same you can build an update for your APK however you want.
For Android apps on Google playstore, package name is considered as your app's identity. Application will be considered as new application only if you change the package name.
Changing only the Keystore will also obstruct the ability to update app on play store and only way to recover would be to create app with new package name.
In your case if you maintain same package name and use same Keystore, there shouldn't be an issue to upload a new release. Since upload on Google Play store doesn't care about the environment used to build the apk.
I have developed an Android app for a client so that I am not putting the app in the play-store. How can I update the app? How the update function is working on another apps?
Before uploading the Apk of your app to playstore, you have to create a signed certificate of your app and then build your apk with that signed certificate each time you upload the updated version of your app. And yes don't forget to increase the version code and version name of the app in your manifest file.
How to create a certificate:
Right click on project go to Android Tools->Export signed certificate (if you have not created yet then create it and if you have already created it use the existing and build the apk and upload on play store ) and don't forget to save that certificate somewhere otherwise you will not able to update your app.
Manifest file:
android:versionCode="1"
android:versionName="1.0"
Whenever you make any changes to your code and want to update it on playstore, increase the version code and change the version name and build it using existing signed certificate
As far as I know there is no update function in-apps. When you publish an App in the Google Play Store the store itself is the one who manage the updates. So when you upload a second version of your app, it sends this new version to all the users who have it in their devices.
I get this problem when uploading a new version of my android application :
The APK must be signed with the same certificates as those of the previous version.
I have already make updates using the same private key withoutany problem; but when i update my Android SDK i get this problem.
Please any body know a solution ?
Maybe updating your SDK has changed the certificates of your application, you have to change it in your app.
Publishing Updates on Android Market
At any time after publishing an application on Android Market, you can
upload and publish an update to the same application package. When you
publish an update to an application, users who have already installed
the application may receive a notification that an update is available
for the application. They can then choose to update the application to
the latest version.
Before uploading the updated application, be sure that you have
incremented the android:versionCode and android:versionName attributes
in the element of the manifest file. Also, the package name
must be the same as the existing version and the .apk file must be
signed with the same private key. If the package name and signing
certificate do not match those of the existing version, Market will
consider it a new application, publish it as such, and will not offer
it to existing users as an update.
If you plan to publish your application on Android Market, you must
make sure that it meets the requirements listed below, which are
enforced by the Market server when you upload the application.
Source : http://developer.android.com/guide/publishing/publishing.html#marketupgrade
Check that the updated APK is actually signed with the same certificate as the current version in the market place. To do that I would suggest executing the following command on both APKs:
jarsigner -verify -verbose -certs /path/to/apk
If they are the same then perhaps it is a bug with the Android Marketplace console?
The fact of updating your sdk shouldn't have any effect to your apk uploading.
Check and be sure that you signed your application with the same private key that you generated the first time you uploaded your application in the market, and you incremented versionCode and versionName in your manifest file.
I made an Android App and posted it in Android market, and now I'm made some updates on my Apps and trying to give a next version of the same app. The problem is I missed my KeyStore file I generated previously. But I'm having my old vesion APK file. Now I'm not able to upload the next version, the developer console says
The apk must be signed with the same certificates as the previous version.
as error. May I get any help to make new version for my android app now..?
There's currently no way of retrieving a lost signing key. What you can do is get a new one, pull your app from the market, and upload your update using a different package name.
Sorry, as far as i know you are not allowed to update your application now.
To update existing application on market, you must have that KeyStore file and also remember the password.
Your best bet is to unpublish the old apk and publish a new apk signed using a new keystore.
Please make sure that you have the previously used key store file with you
As per the documentation available on developer.andoird.com you must do the followings
Before uploading the updated application, be sure that you have
incremented the android:versionCode and android:versionName attributes
in the element of the manifest file. Also, the package name
must be the same as the existing version and the .apk file must be
signed with the same private key. If the package name and signing
certificate do not match those of the existing version, Google Play
will consider it a new application, publish it as such, and will not
offer it to existing users as an update.