Почему приложение не удается подписать?

Как можно получить отпечаток ключа SHA256 для подписанного .apk файла в проекте GODOT 4 на андроиде, если при выполнении команды "keytool -printcert -jarfile android_release.apk" возникает ошибка "Not a signed jar file"? Появилась информация из форума, что возможно проблема связана с "Jarsigner" в JDK 17. Может ли кто-то поделиться опытом решения данной проблемы? После экспорта приложение не подписывается как нужно.
  • 14 июня 2024 г. 10:21
Ответы на вопрос 2
Возможно, проблема связана с тем, что вы не правильно подписываете .apk файл перед выполнением команды keytool. Для подписания .apk файла вам необходимо использовать команду jarsigner, а не keytool. 

Вам необходимо сначала создать подписанный .apk файл, а затем выполнить команду keytool для получения отпечатка ключа SHA256. 

Попробуйте выполнить следующие шаги:

1. Подпишите ваш .apk файл с помощью команды jarsigner. Например: `jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name`

2. После успешного подписания .apk файла выполните команду `keytool -printcert -file CERT.RSA`, чтобы получить отпечаток ключа SHA256. 

Если после выполнения этих шагов у вас по-прежнему возникают проблемы, возможно вам стоит обратиться к документации Godot 4 или попробовать использовать старую версию JDK для подписания .apk файла.
Тебе чтобы глянуть сертификат - безразлично какая версия JDK. Потому что стандарты 
криптографии - это вообще отдельная тема.

Поставь себе временно JDK-21 и спокойно посмотри все подписи.

Еще зайди внутрь apk файла и поищи саму подпись. Можно найти глазами.
Похожие вопросы