Как распаковать мой APK? - PullRequest
1 голос
/ 25 марта 2009

Если у меня есть JAR (Android APK), и я подписал его так:

jarsigner -keystore my.keystore someApk.apk myAlias

Как мне отменить подпись? Потому что, если я открою его в виде zip-файла и попытаюсь извлечь AndroidManifest.xml, они все испортятся.

Ответы [ 2 ]

3 голосов
/ 25 марта 2009

Если вас не волнует манифест и другая метаинформация (что, вероятно, вам не нужно, поскольку вы просто хотите извлечь ресурсы), вы можете просто извлечь файлы с помощью jar -xvf myjar.jar, удалить каталог META-INF и создать новую (беззнаевую банку).

Если вы действительно заботитесь о метаинформации, посмотрите на Понимание подписи и проверки для описания того, что делает подпись. У вас должна быть возможность отменить подпись в банке, отредактировав манифест и удалив файл подписи в каталоге META-INF банки.

Вышеприведенные ответы могут ответить на ваш вопрос, но они могут не решить вашу проблему, потому что я не уверен, что наличие подписанного фляги приведет к тому, что ресурсы будут «испорчены». Сами ресурсы не зависят от процесса подписания. Если вы просто извлекаете ресурсы с помощью самой команды jar (как во втором абзаце выше), у вас все еще есть проблемы?

1 голос
/ 01 августа 2009

Оказывается, что проблема вообще не связана с подписанием - это потому, что файл XML скомпилирован. Чтобы просмотреть содержимое этого файла, вы должны использовать инструмент aapt.

...