I found alot of topics with the same problem but they always lost their password. I have the password still in my KeyPass but I have lost my keystorefile. Is it possible to restore it with help of the password or anything else? Google Play doesn't let me update my app :/
Unfortunately, there is nothing you can do to update the app once you lose the keystore file. Your next best option is to just release the update as a new app and inform as many of your users as you can.
not possible. if keystore file lost nothing can be done
No you must need that same key store to update your app. Other wise you need to create new keystore and upload it as new app by changing projects package name in manifest file.
I thought I lost my keystore file too. Turns out, using Windows operating system, the keystore files were put into a virtualized folder for security purposes. All my keystore files were in there. That folder is off limits to explorer for some reason so searching for .keystore turned up nothing. The only way I found it was to point explorer to the directory used when executing the original keytool generate command. When you do that, there is a button on the top of the explorer window which says 'compatibility files'. Click that and the keystore files appear. Hope this helps someone.
Related
I have a few questions related to signing my android app, getting ready for release.
1) Does the path to your keystore have to be located in your project files? Or just anywhere on my computer, like my Desktop?
2) If I do need to keep in located in my project files, how do I make sure I hide the key when I push a commit to my public GitHub repo? Is all I have to do add *.jpk to the gitignore file or are there more files I need to hide from the GitHub repo?
Thanks!
No, you do not have to store it in the project files. Just keep it in a secure location on your computer, and it's always a good idea to keep a backup somewhere else yet. You will need the key when you sign your app again in the future (such as when you make a new release).
Well there was an accident on my computer with it I lost my project and my key to my application. How can I decompile the application and sign with new key?
Long story short, you can retrieve source with some external tools like javadecompilers.com (explained there)
However for your key, you will have to create a new application in the store unfortunately, using a new key (explained here). There's no way around if you don't have it elsewhere.
if you have the .apk, it is actually just a zipped file. For example with 7zip you can right click on the apk file and "extract files".
You will then need to have a new key and sign it.
Only problem i see is if the app was already released, you have to use same account, or else maybe the store will assume you publish someone else code (not sure about that)
I can´t remember which Keystore file I used for my Android app.
Is there any way to find out?
Or can I search my hard drive for all Keystore files? The problem is that the file has no extension.
Keystore files can have any extension, so it is unlikely that searching will help you.
You can extract certain details from an already signed file, like the public key, but none of these will help you locate the corresponding file on the device.
If you did it through Eclipse, it may remember the location.
If you did it through the terminal, and it wasn't ages ago, you could keep pressing the up arrow key and hope that you reach the commands you used to sign it, which will contain the file path, or you may reach a cd which switches to the directory containing the file right before your run the signing commands.
If none of these work, you're out of luck and will have to search through your files manually, or create a new keystore (in which case you will have to republish your app under a new package name if it is published).
In future, please backup your keystore to multiple (secure) locations to prevent situations like this.
If you did it through Eclipse, try re-exporting your app using:
File>>Export>>Export Android Application
and hopefully it will still be pointing to the last location of your keystore.
I'm modifing some apks of my Honeycomb Tablet. I added some functions to SystemUI.apk which require new permission in the AndroidManifest.xml file. The problem is that I need to re-sign the package with the system certificates.
I tried to copy the META-INF from the previous apk, but the logcat is still saying "Invalid certificates".
So I was wondering how can I do this..thanks in advance for any help.
PS: I already tried to sign the apk with my keystore, but still the same error.
Unless you have access to the private key originally used to sign the APK, this is not possible. Simply copying the META-INF does not work, as the signatures contained in those files are no longer correct.
Alternatively, you would have to rebuild the entire Android system, signing everything with your own private key — however this is currently not possible as the source code for Honeycomb is not available.
If You have a root access, then try to back up (for security) old apk and delete it. Then try to copy new one into the same place... I did something like this with Google Maps - custom ROM, couldn't update from Market, I had to do this manually.
So, I've downloaded my own application from the market and installed it on my phone. Now, I am trying to install a temporary new version from Eclipse, but here is the message I get:
Re-installation failed due to different application signatures.
You must perform a full uninstall of the application. WARNING: This will remove the application data!
Please execute 'adb uninstall com.applicationName' in a shell.
Launch canceled!
Now, I really really don't want to uninstall the application, because I will lose all my data. One solution I found is to Export my application, creating new .apk, and then install it via HTC Sync (probably a different program based on what phone you have). The problem is this takes a long time to do, since I need to enter the password for the keystore each time and then wait for HTC Sync. It's a pain in the ass!
So the question is: Is there a way to make Eclipse automatically use my keystore to sign the application (quickly and automatically)? Or perhaps to replace debug keystore with my own? Or perhaps just tell it to remember the password, so I don't have to enter it every time...? Or some other way to solve this problem?
In Eclipse, select Window --> Preferences--> Android --> Build
You can have your keystore pointed here
Just rename the temp app's package in Eclipse. Change com.appname to com.appname2. Now you can debug as normal, and the apps will run side by side.
This isn't a signing problem, it's due to the fact that Android won't allow any 2 applications to share the same namespace.
Make sure you change the icon for the temp one or something though, otherwise it'll be annoying to tell them apart!
Beside the obvious part where you don't download it from the market when you can get it so much easier update it right from eclipse, there is a way.
First, I recommend getting Android Studio as you can save passwords, which shortens down the time used by a few seconds. This is something you can skip.
Now, you have some options:
Use Google Drive, or any other cloud sync tool that allows you to upload files and download on your phone.
Have your phone download folder available and easily accessible from your computer, alongside the folder where the APK is stored after the signing. Simply drag the file into the downloads and run it from the phone
You could replace the debug.keystore file with your own keystore (rename yours).
This file is located in the .android folder of your documents (at least on XP).
Edit: bah, GSree beat me to it. His/Her answer is more user friendly than mine!
Edit 2: Your question was specifically,
"So the question is: Is there a way to
make Eclipse automatically use my
keystore to sign the application
(quickly and automatically)? Or
perhaps to replace debug keystore with
my own?"
I would suggest asking a different question if you don't like the answers.
Not a full solution, but adding the '-k' param to the "adb uninstall" command will keep your data and cache dirs:
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories