Как отменить Jarsign моего APK?
Вопрос
Если у меня есть JAR (Android APK), и я подписал его следующим образом:
jarsigner -keystore my.keystore someApk.apk myAlias
Как мне отменить его подписку?Потому что, если я открою его как zip-файл и попытаюсь извлечь AndroidManifest.xml, все они будут перепутаны.
Решение 2
Оказывается, проблема вообще не связана с подписанием - это потому, что XML-файл скомпилирован.Чтобы просмотреть содержимое этого файла, вы должны использовать aapt
инструмент.
Другие советы
Если вас не волнует манифест и другая метаинформация (чего вы, вероятно, не делаете, поскольку просто хотите извлечь ресурсы), вы можете просто извлечь файлы с помощью jar -xvf myjar.jar
, удалите каталог META-INF и создайте новый (unsigned jar).
Если вы делай заботясь о метаинформации, взгляните на Понимание Подписания и верификации для описания того, что делает подписание.Вы должны иметь возможность отменить подпись jar, отредактировав манифест и удалив файл подписи в каталоге META-INF jar.
Приведенное выше может ответить на ваш вопрос, но они могут не решить вашу проблему, потому что я не уверен, как наличие подписанного jar приведет к "испорченности" ресурсов.Процесс подписания не влияет на сами ресурсы.Если вы просто извлекаете ресурсы с помощью самой команды jar (как во втором абзаце выше), у вас все еще есть проблемы?