Recently trying to create a new App and upload a brand new APK with self signed certificate (Not Google App Signing) Results in the following error
You uploaded an APK or Android App Bundle that is signed with a restricted certificate. You need to upload an APK or Android App Bundle signed with your own certificate.
I don't believe this error is entirely correct as I do sign the certificate myself locally, this seems like a recent change to our on boarding process and opt-in is now default for google app signing but our infrastructure doesn't have the right pipeline for this yet.
Is there any other things to verify and test, as I see the keystone file is still there and there's no build errors when it's being signed. Also this is a brand NEW application I don't understand why this error would occur for the initial upload since there's no other keys to check against.
I've searched the net but most issues appear to be happening in 2018 and this is more of a recent change that started to occur for us.
EDIT: This is using Cordova build tools not through Android Studio.
Try to follow these trouble shoot steps and see if that will solve your issue:
Clear everything in the Release folder, present in app->build->outputs->apk->release.
Generate new signed apk which will get created in the same above mentioned directory.
Make sure you are bumping the version code.
I don't have a full answer as to Why it was failing, however right after the build for cordova build android --release that APK will upload. But If I use that APK in an emulator to test something first that APK is no longer valid to upload and I get the error pasted above.
basically in our pipeline I had to create a copy of the APK right before creating screenshots and then use the copied APK to upload onto google console.
Related
In order to migrate my app from .apk to .aab I went through the App Signing process that Google Play requires.
I installed Java jdk-14.0.2.jdk (because I purchased a new mac with OS 10.15.5 and it kept saying I don't have Java) and ran the below command from the terminal in the directory that I downloaded pepk.jar from Google Play to
$ java -jar pepk.jar --keystore=user.keystore --alias=bball\ battle --output=encrypted_private_key_path --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a52912392761fb833b656cd48b9de6a
Then I uploaded the resulting file encrypted_private_key_path so now I can see all of my app signing info under the App Signing section in the dashbaord.
Then I selected my user.keystore in unity publishing settings, put in my password, and built the aab file. But when I uploaded it to google play I got a message:
“You uploaded a debuggable APK or
Android App Bundle. For security
reasons you need to disable debugging
before it can be published in Google
Play.nullLearn more about debuggable
APKs or Android App Bundlesnull.”
So then instead of using user.keystore I renamed encrypted_private_key_path to encrypted_private_key_path.keystore and selected that in Unity player settings. But when I select it in publishing settings, it says
"Unable to list keys in the keystore.
Please make sure the location and
password of the keystore is correct."
I know I am using the correct password.
Could this be because Unity is using OpenJDK, but I ran the pepk.jar command using Java jdk-14.0.2.jdk?
Does anyone know how to resolve or troubleshoot this issue?
Hey you are supposed to use Java NDK to build the aab the process is pretty much simple im providing a link of a youtube video can check that but make sure to uncheck the development build and check android app bundle box
https://youtu.be/j0L3SDYyMJI
And for the key if the key isnt working you can contact google that you lost the key and i guess you can generate a new one
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'll try my best to convey what my problem is, but I am having issues updating a clients application that is currently in the Play Store. The old version of the app was created by different developers.
The previous version of the app by the looks of things was created using Adobde Air, I don't have any experience at all with Adobe Air, so not too sure about the signing process with the APKs.
My new version is a new project (with same package name) created in Android Studio.
I obviously need to sign the release APK with the same certificate as the previous version. Can I do this via Android Studio using the Build > Generate Signed APK?
Will the previous developers have to provide a .keystore or .jks file? as I said i'm not sure how the signing process works when using Adobe Air.
Any help would be appreciated.
Thanks.
If you can build an apk and have the original keystore file you can sign it via the command line.
Take a look here:
You uploaded an APK that is not zip aligned error
You'll need to do the jarsigner step first, then the zipalign on the resulting file. 4 works for me as the alignment value.
I am getting this error when trying to upload an update for my app.
I have changed my pc after releasing the previous update, so I had to reinstall Android Studio and everything with it.
Luckily I managed to recover my key.jks file that it's mandatory to update the app since it has to be unique.
I have signed the app from android studio using it, with the alias I remembered and it seems to have compiled and built the app without any problem (I only had to change the keystone and alias passwords).
Still when I try to upload the apk, I get an error in the developer console that says that the apk is not signed.
Any Idea on why this happens?
We have recently purchased a game from another company and have done some updates to it with all the information converted over to our side.
The game is made and updated using Unity and is for the Android platform.
After doing all of these updates in Unity and using the Keystore that they supplied us (along with the passwords for the Keystore and the Key), we built the APK with no errors.
When I go into the Google Developer account and try to upload the new APK for testing, I get an error at the end of the upload that tells me that the certificate used in the APK is different than the one originally used on the other APKs so it can not upload the APK.
I have searched everywhere and people are saying that it is the Keystore and the key but I have the correct Keystore and Key because Unity would not allow me to build outside of debug testing without it (I tested this by putting a wrong password in for the Key and Unity gave me errors saying I had the wrong password).
I am using
- Macbook Pro with OSX 10.8.3
- Unity Version 4.1.3
I have all the correct SDKs for Android and the manifest package name matches the Bundle Identifier for the project. (The Bundle Identifier also matches the correct one attached to the Google Dev site.
Please help.
Unity will not stop you from building out an APK signed with a keystore that is different that what a previously built APK was signed with. So the unfortunate truth is that the version currently on Google Play was indeed signed with a different keystore. I've run into this problem myself in the past.
If you don't find the keystore that the app was originally signed with, you will need to pull down the current app and upload a new app.
I try to follow the practice of making the sure the production keystore is stored within the project's repository in an easy-to-find location.