В настоящее время я сталкиваюсь с некоторыми проблемами с двойной подписью .apk. Нормальный рабочий процесс всегда был таким:
zip -d FILE.apk META-INF/\*
jarsigner -verbose -keystore EXTERNAL.keystore FILE.apk EXTERNAL
jarsigner -verbose -keystore INTERNAL FILE.apk INTERNAL
zipalign -v 4 FILE.apk FILE_ALIGNED.apk
При использовании этого оригинального метода я получаю сообщение об ошибке из магазина Google Play:
Вы загрузили APK с недействительной подписью (подробнее о подписи). Ошибка от apksigner: ERROR (Jar signer INTERNAL.RSA): подпись JAR META-INF/INTERNAL.RSA использует алгоритм дайджеста 2.16.840.1.101.3.4.2.1 и алгоритм подписи 1.2.840.113549.1.1.1, который не поддерживается в API Уровни [[14, 17]]
Поскольку я получаю эту ошибку алгоритма только для "INTERNAL.RSA", я пытался использовать:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore INTERNAL FILE.apk INTERNAL
Это приводит к другой ошибке:
Вы загрузили APK с недействительной подписью (подробнее о подписи). Ошибка от apksigner: ERROR (Jar signer EXTERNAL.DSA): нет дайджеста для assets/www/assets/fonts/FONT.ttf в META-INF/EXTERNAL.SF
Это всего лишь небольшой фрагмент ошибки, потому что в нем перечислены все активы приложения с одной и той же ошибкой. Я благодарен за каждую помощь или подсказку о том, как решить эту проблему.
Привет, Мариус
assets/www/assets/fonts/FONT.ttf
файлаMETA-INF/EXTERNAL.SF
из APK, на который жалуется Play (илиapksigner verify
). - person Alex Klyubin   schedule 26.07.2017