Error loading APK for Alpha version. Errors from apksigner: digest algorithm and signature algorithm, which is not supported at API levels [[16, 17]]

I signed the APK using keytool, jarsigner and zipalign utlities.

I used the following commands:

keytool -genkey -v -keystore myAppTransporterKey.keystore -alias myTransporter -keyalg RSA -keysize 2048 -validity 10000 

plug-in cordova rm cordova-plugin-console

corova build --release android

 jarsigner -verbose -keystore C:\Users\ali\Documents\transporterApp\myAppKey.keystore C:\Users\ali\Documents\transporterApp\platforms\android\build\outputs\apk\android-release-unsigned.apk myTransporter jarsigner -verify C:\Users\ali\Documents\transporterApp\platforms\android\build\outputs\apk\android-release-unsigned.apk 

After launch:

 jarsigner -verify -verbose -certs C:\Users\ali\Documents\transporterApp\platforms\android\build\outputs\apk\android-release-unsigned.apk 

receiving this message: jar verified

After launch:

 zipalign -v 4 C:\Users\ali\Documents\transporterApp\platforms\android\build\outputs\apk\android-release-unsigned.apk C:\Users\ali\Documents\transporterApp\platforms\android\build\outputs\apk\myTransporter-Final.apk 

receive message: confirmation successful

After uploading to ALPAH in Google console for playback, I get the following error

Download the new APK in Alpha

Loading

You have downloaded an APK with an invalid signature (more about signing). Errors from apksigner: ERROR (Jar signer D2DTRANS.RSA): JAR signature META-INF / D2DTRANS.RSA uses the digest algorithm 2.16.840.1.101.3.4.2.1 and the Signature algorithm 1.2.840.113549.1.1.1 which is not supported at API levels [[16, 17]]

+5
source share
4 answers

You need these steppers:

1) jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore C: \ Users \ ali \ Documents \ transporterApp \ myAppKey.keystore C: \ Users \ ali \ Documents \ transporterApp \ platform \ android \ build \ output \ apk \ android- release-unsigned.apk myTransporter

2) jarsigner -verify C: \ Users \ ali \ Documents \ transporterApp \ platform \ android \ build \ output \ apk \ android-release-unsigned.apk

3) zipalign -v 4 C: \ Users \ ali \ Documents \ transporterApp \ platform \ android \ assemblies \ Users \ ali \ Documents \ transporterApp \ platform \ android \ build \ output \ apk \ android-release-unsigned.apk \ outputs \ APK \ myTransporter-Final.apk

Hope this helps you ^^

+10
source

You need the following steps:

 zipalign -v 4 C:\Users\ali\Documents\transporterApp\platforms\android\build\outputs\apk\android-release-unsigned.apk C:\Users\ali\Documents\transporterApp\platforms\android\build\outputs\apk\android-release-unsigned-aligned.apk apksigner sign --ks C:\Users\ali\Documents\transporterApp\myAppKey.keystore --ks-pass pass:[PASSWORD] --key-pass pass:[PASSWORD] --out C:\Users\ali\Documents\transporterApp\platforms\android\build\outputs\apk\android-release-singned.apk C:\Users\ali\Documents\transporterApp\platforms\android\build\outputs\apk\android-release-unsigned-aligned.apk 

To sign applications, use BuildTools 24.0.3

https://developer.android.com/studio/releases/build-tools.html

+1
source

According to the official documentation, you can follow these steps:

  • generate the .apk file
  • Align data: zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
  • Sign the APK: apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk

You may need to determine the type of keystore using the --ks-type option:

 ~/Android/Sdk/build-tools/26.0.2/apksigner sign --ks-type pkcs12 --ks ~/[…].p12 \ --out android-release-signed-aligned.apk android-release-unsigned-aligned.apk 
0
source

This is fixed in apksigner 0.8 , which was released in the Android SDK Build Tools 26.0.2 .

If any problem persists, inform the Google tracker , which they will open for verification.

0
source

Source: https://habr.com/ru/post/1269416/


All Articles