I want to upload an app to the Google Developer Console, but when I upload the app, it gives the following error:
You uploaded an APK with an invalid signature (learn more about signing). Error from apksigner: ERROR: MIN_SIG_SCHEME_FOR_TARGET_SDK_NOT_MET: Target SDK version 30 requires a minimum of signature scheme v2; the APK is not signed with this or a later signature scheme
See the screenshot I uploaded here.
How can I solve this problem?
Make sure you are building the 'release' variant, after signing it with an upload key. Also, I would recommend you sign in for Google App Signing, which will certainly solve these issues and keep your signing key secure as well. The schema problems will be taken care of by Google itself then. There is an option in the console to opt-in to Play Signing
In the Generate Signed Bundle or APK dialog, after you select the jks key stroke path, you should see a page with 2 options
Build Variants: debug or release
Signature Versions: V1 (Jar Signature) and/or V2 (Full APK signature)
You should make sure V2 is checked when build.
Related
i'm getting this error when i try to upload my app update in Google Console "Upload Fail" You uploaded an APK or Android App Bundle with invalid or missing signing information for some of its files. You need to create a valid signed APK or Android App Bundle. Find out more about signing.
Your APK has to be signed by your production private key. This is how Google knows that you built the APK and will allow it to go to your users. This is a safe guard from someone putting up a fake APK in your store listing.
The Play Developer Console will show you the signature of the key so you can compare it to keys and find the correct one to sign your APK with.
Here is some documentation on signing your APK.
I want to release a new application. And I have created a keystore specifically for that application. When on the Google console I accidentally clicked on enabling Google Play App Signing. My APK upload failed because it did not match the application signer. I have long lost the application keystore before. How can I release a new application with a new keystore? Explanation from Google makes me even more confused, can I give me the order that I have to do.
My error on console looks like this:
And the upload certificate section is written like this:
Your application does not have an upload certificate. The certificate
you use to sign the first APK will be used as an upload certificate.
While generating signed APK, Just check on Both signatures version i.e
I want confirmation that I have found the answer, via this link
[Android Signed APK showing as Unsigned APK when trying to upload to production
I have to check both options when generating a signed APK.
There are three choices available to us:
select V1 (For older version of signing) - apk gets uploaded
successfully
select V2 (For newer version of signing) - Please note that selecting
this alone will not work.
select V1 and V2 (For older and newer version) - apk gets uploaded
successfully
Why selecting V2 alone does not work ?
Because APK Signature Scheme v2 was introduced in Android 7.0
(Nougat). To make a APK installable on Android 6.0 (Marshmallow) and
older devices, the APK should be signed using JAR signing before being
signed with the v2 scheme.
thank you for participating in helping find answers
I have a quite normal app for Android which requires no permission at all. I wanted to upload the APK to the Google Play Developer Console.
In Android Studio, I pressed Build --> Generate Signed APK... --> I filled in the correct passwords --> Next --> Build Type debug --> Signature Versions only V2 (Full APK Signature) --> Finish.
My loggs tell me: APK's generated succesfully.
I go to the Google Play Developer Console --> Release management --> App-releases --> Edit bèta release --> Upload APK.
When I upload the APK that's just created I get the following error from Google:
Upload failed. You have uploaded an unsigned APK. You must create a
signed APK.
This is very irritating, because it happens always when I try to upload an APK, which is signed according to me. I tried several ways. What have I done wrong?
You need to choose Build type Release and check both signature versions V1 and V2.
Signature Versions
Android 7.0 introduces APK Signature Scheme v2, a new app-signing
scheme that offers faster app install times and more protection
against unauthorized alterations to APK files. By default, Android
Studio 2.2 and the Android Plugin for Gradle 2.2 sign your app using
both APK Signature Scheme v2 and the traditional signing scheme, which
uses JAR signing.
Signature V2 is optional, but signature V1 is mandatory for distribution on Google Play.
I am signing an apk with a keystore I just generated. Gradle confirms that a signed apk is generated. There are no gradle errors at all!
However when I upload it to the google play store, I am told that it is not signed. I am not sure how to debug this issue. Has anyone encountered a similar issue?
Enable the V1 and V2 signature schemes before generate apk on last dialog.
I used debug SHA1-key for testing in-App purchases in Google Play. But with debug key not working Google Maps V2, I only see a gray screen instead of cards. I generated the release key, build new apk file and now i can`t upload this file to Google Play.
Upload failed You uploaded an APK that is signed with a different certificate to your previous APKs. You must use the same certificate. Your existing APKs are signed with the certificate(s) with fingerprint(s):
SHA1: XX:XX:XX..XX
and the certificate(s) used to sign the APK you uploaded have fingerprint(s):
SHA1: YY::YY:YY…YY
Does anyone have any idea how to do in this situation?
As you have generated the key with the debug SHA-1 it will not allow any application to uploaded on market which has debug key. Try to generate your key with release certificate fingerprint.
AFAIK for the previous apk generation you have used the release certificate fingerprint and right now for the current you are using the debug SHA-1 that is why the error throwing.
To display the SHA-1 fingerprint for your certificate, first ensure that you are using the right certificate. You may have two certificates:
Debug certificate: The Android SDK tools generate this certificate automatically when you do a "debug" build from the command line, or when you build and run a project from Eclipse without exporting it as a released application. Only use this certificate with apps that you're testing; do not attempt to publish an app that's signed with a debug certificate. The debug certificate is described in more detail in the section Signing in Debug Mode in the Android Developer Documentation.
Release certificate: The Android SDK tools generate this certificate when you do a "release" build with either ant program or Eclipse. You can also generate this certificate using the keytool program. Use this certificate when you are ready to release your app to the world.
Read More..
Me too faced the same problem during releasing my app to google Play, when I used Google Maps V2 in my app. After succeeding the issue, I wrote a blog post regarding this you can have a look.
As everyone requested, I would say the answer in following steps
1) Sign up your app using eclipse adt
2) Note down the SHA1 finger print which will be displayed at console of your eclipse adt
3) Again go to google console and get API_KEY for your app by using above got SHA1 fingerprint
4) Replace the old API_KEY with the new API_KEY on to manifest.xml of your app
5) Again sign up your app. Your app is ready to be published. But keep in mind that once you published your app to google market, you should be able to release updates to your app by signing .apk using the keystore which you used earlier for release.
Hope this helps ...