Не удалось загрузить APK для альфа-версии. Ошибки от apksigner: алгоритм дайджеста и алгоритм подписи, который не поддерживается на уровнях API [[16, 17]]

Я подписал APK, используя утилиты keytool, jarsigner и zipalign.

Я использовал следующие команды:

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

Кордова плагин RM Кордова плагин консоли

Cordova build - выпуск 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

После запуска:

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

получаю это сообщение: банка проверена

После запуска:

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

получить сообщение: проверка прошла успешно

После загрузки в ALPAH в консоли Google Play я получаю следующее сообщение об ошибке

Загрузить новый APK в альфа-версию

Загрузка

Вы загрузили APK с недействительной подписью (подробнее о подписании). Ошибки от apksigner: ERROR (Jar signer D2DTRANS.RSA): JAR-подпись META-INF / D2DTRANS.RSA использует алгоритм дайджеста 2.16.840.1.101.3.4.2.1 и алгоритм подписи 1.2.840.113549.1.1.1, который не поддерживается в API уровни [[16, 17]]


person Abdul Rashid    schedule 02.07.2017    source источник


Ответы (4)


Вам понадобятся эти шаги:

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 \ build \ output \ apk \ android-release-unsigned.apk C: \ Users \ ali \ Documents \ transporterApp \ platform \ android \ build \ Выходы \ apk \ myTransporter-Final.apk

Надеюсь, это поможет вам ^^

person KABIA Edouard    schedule 03.07.2017
comment
Это работает ... Спасибо - person Krishnaraj; 04.07.2017
comment
Вы, сэр, вкус жизни. - person Ray; 05.07.2017
comment
Ребята, добро пожаловать ^^ напишите это как хороший ответ для быстрого поиска другими мужчинами, которым он понадобится. удачного дня кодирования x) - person KABIA Edouard; 17.07.2017
comment
Да, @AbdulRashid, отметьте это как правильный ответ. У меня тоже сработало! - person Steve J; 29.08.2017
comment
jarsigner: цепочка сертификатов не найдена для: myTransporter. myTransporter должен ссылаться на действительную запись ключа KeyStore, содержащую закрытый ключ и соответствующую цепочку сертификатов открытого ключа. Что это означает, пожалуйста, помогите - person user1106888; 07.12.2017
comment
не работает .. ERROR: JAR signer HELLO.RSA: JAR signature META-INF/HELLO.RSA uses digest algorithm 2.16.840.1.101.3.4.2.1 and signature algorithm 1.2.840.113549.1.1.1 wh ich is not supported on API Levels [[16, 17]] - person aswzen; 05.03.2018
comment
Привет, ребята, прошу прощения за опоздание, но для дальнейшего запроса вам нужно будет сфокусировать уровень api 26 как минимальный уровень api ^^ - person KABIA Edouard; 11.08.2019

Вам потребуются следующие шаги:

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

Для подписи приложений используйте BuildTools 24.0.3

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

person Mayer Olivares Salinas    schedule 04.07.2017
comment
stackoverflow - это платформа на английском языке, поэтому люди с разными родными языками могут общаться друг с другом. Пожалуйста, спрашивайте и отвечайте на английском. См .: stackoverflow.blog/2009/07/23/non-english-question-policy - person stamanuel; 04.07.2017

Согласно официальной документации, вы можете выполнить следующие шаги:

  1. сгенерировать .apk файл
  2. Выровнять данные: zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
  3. Подпишите APK: apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk

Возможно, вам потребуется определить тип хранилища ключей с помощью параметра --ks-type:

~/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
person A.L    schedule 21.11.2017

Это исправлено в apksigner 0.8, который был выпущен в Android SDK Build Tools 26.0.2.

Если проблема не исчезнет, ​​сообщите об этом на системе отслеживания проблем Google, которую они снова откроют для изучения.

person Prags    schedule 02.01.2018