I met strange thing to upload my apk on Google Store.
I needed to upgrade my app so I rebuild APK with the same keystore file which was used in last one.
But I got this issue. This is unity project.
I checked all build settings including short bundle version and build version on Unity Editor, but I couldn`t find the strange thing.
I upgraded build version and short bundle version and tried to upload APK on Google Store, but I got the same issue.
How Can I solve this problem?
Please let me know what the cause of this issue is.
The SHA1 hash for the two applications are technically different. So there are really only two options:
You are actually signing the APK with the wrong key. I would run a quick SHA-1 over what you think is the signing key to verify before doing anything else.
This is the LEAST likely. Something is wrong with your signing setup - I don't know how you produce artifacts (CI, manually, etc) but you could always try signing your APK manually without any tools to verify it isn't the problem of something else https://developer.android.com/tools/publishing/app-signing.html
Being blunt, 1 is much more likely than 2. So I would first start checking the hashes of other *.jks files you have nearby before venturing down the path of verify tool correctness.
You're using a different keystore. There is sometimes a keystore for debugging, and a keystore for the release. Ensure you're not using the incorrect one.
Related
You uploaded an APK with an invalid signature (learn more about signing). Error from apksigner: ERROR (Jar signer CERT.RSA): JAR signature META-INF/CERT.SF indicates the APK is signed using APK Signature Scheme v2 but no such signature was found. Signature stripped?
Im doing this with Cordova, signed it and then aligned it, i dont really know what im missing here..
Do alignment (if you really need it) before signing
https://developer.android.com/studio/publish/app-signing.html#signing-manually
I was facing the same problem with my Cordova project and was able to resolve it by following the steps below: (took 2 days to figure out the solution :D hope it works for anyone who lands in here.)
Import your project in AndroidStudio
Under Build Click on Generate Signed Bundle / APK
Select Android App Bundle
Update Keystore file/password and all requested details (Please select the option of the export encrypted key, as you will require to upload this on the playstore)
Select Release
Before uploading the app bundle you need to upload the certificate (the one you download in step 4)
(optional step) You will also see an auto-generated App signing key certificate you can download that if you want
Upload the App Bundle & you can now release the App to PlayStore.
I've just found that error with multiple APKs from different projects. What they had in common (from a user's perspective) was they were compiled in the same narrow time frame (within a few weeks, and about a year ago).
I've contacted the resp. developers via their corresponding Github repo. In all cases, the issue solved itself by compiling the very same code again with an updated version of Android Studio.
So if it's not the "processing order" explicitly performed by you (yes, with v2 signing must be the very last step or the signature will be broken), it might well be there was a bug in a specific version of Android Studio and, as shown, updating to the recent version and simply recompiling will solve the issue.
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 have a certificate that is signing my app when I say File -> Export. When I install the apk that way, it works. However, when I just run my app off eclipse while my phone is plugged in, it does not. So obviously it is being signed with another certificate.
How can I get eclipse to sign the apk with the same certificate that is used when exporting the apk?
This person has the exact same problem as me, but no answer either...
You are right, it's signed with other certificate, it's using ~/.android/debug.keystore. I don't know much about eclipse but in Android-Studio with new build system (gradle) its very easy to switch between signing certificates within different variants of an app (e.g. debug/relese even with combinations like free/premium). I don't know if it will work, maybe just replace in your users directory debug.keystore with your own?
I have developed and android Application and export as APK file to publish this on google play .Problem is that when i try to upload an apk file there gernerated an error of
"The certificate that signed this apk is not valid until the future. Create a new certificate."
And Apk dnt be uploaded please any one help me or tell me where will be the issue i have exported it as apk file its certificate information as required in eclips
There is probably some issue with the certificate. The certificate guide lets you create a certificate valid for many years, which it suggests to make at leat 25. Double check if you made sure that is correct.
OR
Try moving your system time back one day and sign your app, should be a fair workaround :)
I think you have set the time in your machine wrong. Maybe a time ahead of the google servers.
Check this out,
time set 3 hours ahead in my windows
This also proves it
You need to generate a valid certificate. See the following link for signing your app for a release:
App signing & releasemode
I have an issue signing my app. When I sign it, and upload it, I get the error "The apk must be signed with the same certificates as the previous version."
Before you ask, yes I'm sure it's the same keystore. I'm pretty sure it has to do with the way my former coworker signed it. I've tried signing it two ways:
With jarsigner/zipalign. This results in an apk with a META-INF folder that contains 3 files: MYALIASN.RSA, MYALIASN.SF, and MANIFEST.MF
With eclipse ->export exporting a signed app. This results in an apk with a META-INF folder that contains 3 files: CERT.RSA, CERT.SF, and MANIFEST.MF
I looked in the old apk and saw 5 files in the META-INF directory: MYALIASN.RSA, MYALIASN.SF, CERT.RSA, CERT.SF, and MANIFEST.MF. I tried simply signing my app with jarsigner after signing with eclipse, which did result in the same five files, but alas, I still got the same error. What am I missing here? Does anybody have any good advice as to how to reproduce the way it was signed before, or am I doing it wrong? Thanks!
it has to be signed with the same keystore AND the same developer alias
I found out what happened for anybody that comes across this. My coworker had used the apk from the bin folder as the 'unsigned apk' and then signed it as normal. His debug keystore was also embeded in the apk when he first uploaded it. I'm pretty sure that since we can't reproduce his debug keystore that we are out of luck :(