I just published my first app and already there are a bunch of mistakes so I need to republish it :)
What I did was export my code as unsigned .apk, then I coded the app using my key like this:
jarsigner -verbose -keystore mykey.keystore my.apk mykey
Then the system did its thing and all went well.
Now I went to the google play site to republish, clicked on the tab: "apk files" and then I am not sure what to do.
Should I de-activate the original apk? Or should I just upload the new apk with the same name?
I tried just uploading the new apk, but got this error:
The new apk's versionCode (1) already exists.
Which suggests I should delete the old apk, right? Or did I maybe forget a step somewhere?
Thanks!
I think the market is asking you to change your apk versionCode in the AndroidManifest.xml, that way it can recognize it as a new version of the app.
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.
from: http://developer.android.com/guide/publishing/publishing.html
You should change the versionCode in the Manifest.xml. Make it 2, or greater than the previous versionCode. You should also update the versionName in the Manifest.
Than just de-activate the previous version, and activate the newly uploaded one.
versionCode is your apk subsequent release number, where a release is what going to be published in Google Play
Related
Recently Google has asked me to remove one permission (SEND_SMS) from my android app and republish it. The problem is that I got this prebuilt app from some company and now they are asking for extra amount for only changing this permission. During initial purchase also I had told them not to include but they kept it. Now I want to edit android menifest by removing the permission for SEND_SMS, rebuild and sign the app and publish.Please note that I don't have the source code of the project, but my work I believe is only limited to android menifest. Is it even possible? if yes, How?
Thanks,
Abdul Wahid
Even if you manage to manipulate the manifest, you still can not sign the .apk. You would need the keystore file to sign it for publishing.
If you still have the keystore, then you can use apktool to decompile the APK, modify the manifest to increase the versionCode and remove that permission, then recompile it (still using apktool). Finally, re-sign the APK with apksigner using the keystore you have and publish the modified APK to Play Console.
i'm new to android development i have developed one application and distribute a copy from bin folder not in playstore . The user try to install app second time with different version it's giving "APP not installed an existing package by the same name with a conflicting signature is already installed" like this but same version it's not coming like this.
I want to install app without uninstalling(means user don't want to do uninstall) previous one without using play store and one more doubt when this signature will generates .
Thanks in Advance.
See what happens: most probably you'd compiled a DEBUG version of app and distributed it your own way. At that time your IDE used a debug certificate which is auto created every time you install IDE/SDK. Now, some time has passed and you'd switched your working PC/notebook OR you'd reinstalled the IDE/SDK OR you'd switched lets say from Eclipse to AndroidStudio OR changed your OS from Win7 to Win8 or Ubuntu, no matter what you did but as a result the brand NEW debug certificate was generated and used now. And most probably you'd lost your previous debug certificate 4ever (depends how this happens).
The certificate itself stands for a unique fingerprint and each debug or release certificate has its own unique fingerprint. That fingerprint is the signature Android talking about. Every apk is signed using certificate and has its signature, its mandatory.
So, since you are using a different debug key store certificate you are NOT ABLE to do what you want. The right scenario is to create a release certificate (key store) and to sign you app with it and then distribute app any way you want. This way you should also save your release certificate and reuse it later to sign any upcoming updates.
As for now you should restore your certificate you'd signed your apk with or the only way your users has now is to uninstall and then install.
Harsha Vardhan is right, You should first clean project and then use same signature with installed apk.
what ever you said it's correct but the problem here is i have changed sdk because of this problem is occurred . I think solution is need to generate apk file from same sdk .
I am not sure why that just happened.
But that's happened to me one time also.
I've changed my package name from com.aashakil.myapp to com.myapp and it was fixed.
If you change yours it'll may work.
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.
How do I release an update for my app? I can not find an update apk option on the developer console.
You just upload a new apk file, which should have a higher version code and a higher version number than the previous apk.
As Pompe says; but also be aware:
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.
http://developer.android.com/guide/publishing/publishing.html#marketupgrade
Remember that you always have use the same key that you used to sign the first release version. If you sign a new version with a different key, you will get an error message when trying to upload it.
As said in other replies, make sure that you have increased the versionCode and versionName in the manifest.xml