I'm re taking some old app that has been in the Play Store for more than 5 years. However now that all my code is migrated to AST, everything is working and I'm ready to make a new update, I've come to realize that the key for signing the app has a diferent extension name. Now Android Studio ask for a file .jks but my old app used to use a .key file. I haven't find anything online.
The same file will work for Android Studio
for anyone possibly still struggling with this topic-
You may have forgotten the .jks file of that project.
Search for .jks files in File explorer.
Connect it to your project.
Related
When I archive an Android app, then distribute it, I'm given the option to create a keystore. Once I create it, where does it go by default?
In Visual Studio, Xamarin lets you create the keystore when distributing. However, it doesn't make it clear where exactly it puts it.
I found it in:
C:\Users\yourusername\AppData\Local\Xamarin\Mono for Android\Keystore\
There are many folders in there, generally matching the names of the distribution profiles you seen when archiving Android packages in Visual Studio.
I found my keystore files in those folders.
You can also do a search in that folder for the keystore name and find it relatively quickly.
Good luck!
You can find them in C:\Users\yourusername\AppData\Local\Xamarin\Mono for Android\Keystore
You can simply click on Open Folder Below Distribute while Archive the Apk.
From there you can simply found Mono for Android in above Folders From there Go to Key store and you can find Respective Project Key store files
I renamed the project successfully but now there seems to be having two .apk files. Do I have to keep the old .apk? . Currently my new .apk file has no errors. Will it corrupt later?. Or if I remove it will my project be still fine forever? I have a long term usage idea for this project so what is best to do.
But keeping the old name.apk is like keeping garbage I need a clean project... What can I do? And how this affects when I need to sell application in Android market.
Delete the old .apk file, it only because you rename your project, so it generates a different file.
Google Play (Android Market) will see it as a new app if you change the package name.
If you haven't already uploaded the original version, yes, you can just delete your local .apk.
delete bin and gen folder to clean up with old built data.it will be built again automatically if you have checked true in front of Build automatically option in Project tab.
I have made an application and I signed its apk one month ago. Now I have forgotten its password and when I am using a new key for this and installing it on Google Play, it's giving me the fingerprint error. What can I do?
The application link is here.
The error occurs:
you can find your lost key password in below path
Project\.gradle\2.14.1\taskArtifacts\taskArtifacts.bin
open the file and search with the part of the password that you remember. You will find it definitely. Else, try searching with this string "signingConfig.storePassword".
Note: I have experienced the same and i am able to find it. In case if you didn't find may be you cleared all the cache and temp files.
Try to find your password here if you are using Gradle 4.0 and above.
Switch to project mode.
Open your project name folder.
Open .gradle folder.
Open gradle version folder (here in my case it's 4.4).
Open taskHistory folder.
Double click on "taskHistory.bin", select open in text editor option.
press ctrl+f to open search box and try to find your key (guesswork).
UPDATE:
In gradle 5.4 version the file path has been changed as below: <project>\.gradle\5.4\executionHistory\executionHistory.bin
You have to use the same certificate when you update your apk or Google Play won't recognize it as the same app.
If you can't remember your password at all, I don't think there is any other choice but to start with a new app (new package name).
From Google documentation
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.
Source: http://developer.android.com/tools/publishing/app-signing.html
Similar info also here in Android developer blog: http://android-developers.blogspot.com.au/2011/06/things-that-cannot-change.html
Just as important as the manifest package name is the certificate that application is signed with. The signing certificate represents the author of the application. If you change the certificate an application is signed with, it is now a different application because it comes from a different author. This different application can’t be uploaded to Market as an update to the original application, nor can it be installed onto a device as an update.
[...]
In conclusion: There are some parts of your application that can not change. Please be careful.
The keystore password can be broken, but you'll still need the alias password later on.
Download the two files from here
https://gist.github.com/zach-klippenstein/4631307
Build with:
javac ChangePassword.java
Run:
java ChangePassword <keystore filename> <new keystore filename>
The lost key password can be found under the .gradle folder, the path be something like this:
.gradle\3.3\taskArtifacts\taskArtifacts.bin
I think 3.3 is the number of the gradle version, it may change in some cases. If the version is greater than 4.0 the path is actually different:
.gradle\4.1\taskHistory\taskHistory.bin
In any case, this are binary files, so they're full of unreadable data, but if you search for the string "signingConfig.storePassword" you'll find a lot of text, mine looked like:
<97>signingConfig.keyAlias^C<8a>MY_KEY_ALIAS<9c>signingConfig.storePassword^C<92>MY_STORE_PASSWORD<98>signingConfig.storeType^C<84>jks<9f>
Switch to project mode.
Open your project name folder.
Open .gradle folder.
Open gradle version folder (here in my case it's 5.4.1).
Open executionHistory folder.
Double click on "executionHistory.bin", select open in text editor
option.
press ctrl+f to open search box and try to find your key
(write storepassword).
This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
How to build .apk file?
Please guide how to make .apk file . I have a knowledge that it is in bin directory and before it was working fine . Now when my application is completed and trying to make .apk file its just coming with 0.97 mb although there are many images in it .when i try to install on phone its says file not supported but directly from eclipse its get installed and work fine .my bin folder contain .dex and resource.ap_ also . Do i need to make them also .
I have tried with export but it was also giving same error on the phone . please help .
If you're using Eclipse, right-click on the project in Package Explorer, then under "Android Tools" choose "Export signed application package". There will be some UI regarding signing key generation/choice, you'll get a chance to provide file name, and then you'll get your APK where you want it.
If you're not using Eclipse, why not?
If Eclipse isn't building a valid .apk file, try fixing the project properties. In the Package Explorer, right click on the project name, then select Android Tools > Fix Project Properties.
Be aware that the .apk file generated in the bin/ directory is signed by a built-in debug signing certificate. This is okay for use in the emulator or in a device dedicated to testing, but for production use, you should sign the .apk with your own certificate. You do this by exporting the .apk as described by Seva. See the guide topic on this subject for details.
I have developed and released an app on the Android Market.
I compiled the release, signed and zipaligned with Eclipse ADT export.
This process created a Keystore for me in the wizard.
The steps i took are detailed in the Android dev guide.
I want to know, Where does the newly created keystore reside? I want to take it and reuse on another project but i am not sure where i can find it.
I thought it would be named something like my-release-key.keystore but i cant find it.
Sorry if this comes out as a dumb question but i am quite new to this and is a wearied thing to get stuck on.
Edit:
I used the Eclipse ADT Wizard and in there i entered the location as follows...
I am developing on a Mac and a very new mac user. I just dont know where this file has been placed. It i not in the project folder or the "cd /" location.
Thanks
OK, I found out the Eclipse ADT on Mac OS X saves keystores by default in Eclipse.app/Contents/Mac OS :-(
When using eclipse wizard you can explicitly set keystore destination folder. But if you didn't do it (in your case), eclipse will save new key in your home directory.
You should manually create it with keytool. This step described in Obtain a suitable private key part of the guide.
Basically in windows(Checked in Window 7) the release_kestore stores by default in C:\Users\xyz\release_keystore. Then we have to move it to our comfortable place.