Recently my computer crashed and I was only able to recover the keystore and apk of one of my Android apps (already published). Would it be possible to make an update to this app by creating a new project (the original one was lost) and using the original keystore? If so, how? Otherwise, how would I be able to update the app without the original project?
1.Create new project with same package name
2.Write your code from scratch
3.Update correct version code
4.Generate Release APK with your key store and remember to write its password when asked.
5.You are good to update on play store.
As long as application Id and certificate used to sing release APK matches already released binary, you can publish whatever you want.
BTW: Keystore is container for your keys. So if you just recovered keystore it does not automatically mean you recovered your keys (as you might have forgot key password).
Related
I lost my android apk certificate. I formatted my mac mini and upgraded to a new MacBook Pro. Now I don't have access to the old mac. So there is no chance of retrieving the old keystore. And I am not enrolled in Google Play App Signing yet. If I enroll now, will I be able to update my app?
This is the error I get when I try update my app on play store :
You uploaded an APK that is signed with a different certificate to
your previous APKs. You must use the same certificate.
I know this is a duplicate question but I am asking it again because all the other questions are 3,4 years old. And I read somewhere that it is possible after May 2017 but I don't know how.
This is the comment I saw on quora (The link to the blog is broken):
https://www.quora.com/How-do-I-make-a-new-Certificate-Keystore-key-after-losing-the-key-of-my-Android-app
No need to Remove Your app from play Store You can Update Your app.
it’s Possible now, After May 2017 you can Update your app if you lost
your keystore or keystore password. Don’t lose Hope you can update
your app using new Keystore file please refer this blog http://geekcodehub.com/blog/
Code Hub here i wrote how to update apk if you lost your keystore
follow the step and create new keystore , I updated my app using this
step. you need to enable google play app signing on play store console
Is there any chance to update my current app? Without creating new app on playstore.
AFAIK it's not possible.
If you lose your keystore or think it may be compromised, Google Play
App Signing makes it possible to request a reset to your upload key.
If you're not enrolled in Google Play App Signing and lose your
keystore, you'll need to publish a new app with a new package name.
Source
Finally, I managed to retrieve the key. Here is How :
1- Download Disk Drill (Trial Version)
2- Download Hex Editor
Disk Drill shows all the files but you cannot recover without upgrading to Pro version, But don't worry there is a work around :)
Select the partition you want to recover. It will start getting a list of files which can be recovered. In the search bar write ".jks"
From the list select the .jks file which is around 2 kb. Ignore the other files. All jks file names will be like file000001.jks, file000002.jks...
In trial version you cannot recover it directly but you can view it. So, open the file you selected. Copy the Hex Code from it.
Open Hex editor, Paste the code in a new file. Save it with extension .jks
Run IDE (Visual Studio or any), Import the jks file and you are good to go.
In visual studio you can import .jks after archiving the android project. Select Ad Hoc and at the bottom there is an option to import an existing key.
I erased my drive completely from disk utilities and installed a new OS. But still I was able to recover the key. Never loose hope :)
I have an Android project published on google play, signed with my previous installation of Windows and Android studio.
Due to formatting the PC (the computer is the same), I lost the .jks file to sign the application.
If I have the key store password with which to sign this app.
Can I re-sign the app with the same keys as before?
Can anyone tell me how to fix this?
I would like to update the app, instead of having to issue a new
one.
UPDATE:
I have copy to keys ssh
I was trying to restore it via deleted files restoring tools, but it failed. So, there is no other way: you should issue another application.
Generally, the only advise that exists on keystores: "always back it up!"
The only way is that you can create an app with a new package name upload it to store and remove the old app.
We are using Android Studio and we are developing an app using the default keystore. The application is already being used while in development so all clients already have data in their devices.
We now would like to use an actual keystore. However, creating a new one would mean the clients cannot update the application - they would have to reinstall the application which means that they would lose existing data. Is there a way to go around this? Or can we import the existing keystore for release?
It is stored in ~/.android/debug.keystore.
On Windows, this will be something like C:\Users\Username.android\debug.keystore
However, I would advise not to do this, as the debug keys have an early expiration (at least they did with Eclipse, I haven't been able to find anything about Android Studio). Once this date is reached, there will be no option but to create a new key. It's definitely messy, but it'll be easier to clean up now rather than in a years time when you'll have even more users.
You should use the existing keystore itself. While generating the signed apk, You can provide the path to that keystore, keystore password, key alias and key password. This is the only way with which you can generate an updated version of the existing apk.
I have attempted to install an apk to my phone with an app that I already have installed. I have changed the version number however the issue is clearly down to the original signature of the app.
The app itself was originally developed by another company so I do not have the original signature for this? Do I need the original keystore file to allow for this?
Also it is unlikely the external company will still have the original keystore file - if this is the case & I cannot use the original key what is the next step from this?
Obviously i'd like users of the app to be able to 'upgrade' the app through Google Play without directly uninstalling the app manually themselves first.
Can anyone provide a solution ideally without the original keystore file?
You can't upgrade with new keystore as #orip said.
You could ask your developer to send you keystore file. Otherwise you will have to change package name, sign with a new keystore and upload as a new application.
You need the original keystore. As far as I know, without it you can't upgrade or upload a new version to the Play store, you'll always have to uninstall and reinstall.
I'm developing an open-source app for Android using Phonegap. The development reached the stage at which it's usable enough to release it to public (something like a beta version). I just want to put my current APK on Github. Is there any reason why I would not want to uploading the APK signed with debug key and signing it with release instead (and going through the hassle of making one etc.)?
A debug key isn't any different from a normal key. So there's no reason it would harm anything. If you ever want to upgrade it, the upgrades will need to be signed with the same key or the user will have to uninstall first. And if you ever upload to Google Play, the same key has to be used for all uploads there. So make sure whatever key you release under is saved somewhere.
The only possible problem I see is that debug keys may have a short expiration date and need to be recreated (ADT used to expire them in 1 year). So if you plan on maintaining it you may want to create a key with a longer expiration.
You should create a key as there may be people who will be helping you in your current project and they will also be signing app, but with a different key and if they later upload apk to the GitHub, the user's will get different signature warning which will result of having to reinstall the app and thus losing any persisted data.
As long as you don't want anyone helping you out, it's fine the way it is.
You can use the one Android created for you if you are too lazy to create a new one. It is stored in C:\Users\<your_user_name>\.android assuming that you are using Windows as your OS.
No problem, you can just upload the release apk while making a new repo release on GitHub. I also do it, that way people who visit my repo can try the app then and there and it will be really helpful than uploading or hosting the apk somehwere else.
Also to make it easier to update the apk in future repo releases, I made a library which detects new repo release and downloads the latest apk. You can check out my library here. Hope this will be useful to you as well.