Кто-нибудь имеет опыт работы с APKTool, декомпилятором Android? - PullRequest
2 голосов
/ 02 ноября 2011

Я пытаюсь внести небольшие изменения в раскладку приложения клавиатуры, которое поставляется с ПЗУ MIUI Android 2.3.5 (Mms.apk). После перекомпиляции файлов обратно в apk (и подписания их с помощью jarsigner) и повторного развертывания с помощью adb push приложение всегда принудительно закрывается.

Проверка logcat указывает на ошибку с файлом XML (он говорит, что в нем отсутствует атрибут android:layout_width - и это…, но добавление его не имеет значения, так как в другом месте появится другая ошибка. Кажется, проблема заключается в с процессом перекомпиляции, так как приложение (в его первоначальном виде) прекрасно работает без этих атрибутов, которые вызывают исключение RuntimeException с отредактированным apk ..

Только для справки, даже если я не внесу никаких изменений - просто декомпилирую оригинальный apk, а затем снова скомпилирую его, проблема остается.

Если я не подпишу apk, то он вообще не установится. Возможно, мое подписание вызывает проблему? Вот что я делаю:

apktool d Mms.apk //decompile the original apk (Mms.apk)
apktool b Mms //make no alterations and recompile it again
cd Mms/dist //change into the directory where the new apk is generated
jarsigner -verbose -keystore jspapps.keystore Mms.apk jspapps.keystore //sign the apk with keystore (jspapps.keystore)
adb remount //connect to phone..
adb push Mms.apk /system/app //push the apk
adb reboot //reboot.....

Сила закрывается каждый раз!

Любая помощь будет высоко ценится. Я занимаюсь этим часами!

1 Ответ

1 голос
/ 03 ноября 2011

Я разобрался.Похоже, это ошибка в текущей сборке apktool (1.41).Он был решен в новой сборке, которая недоступна непосредственно с сайта Google Code - разработчик загрузил его здесь: http://www.multiupload.com/BPJW0WGTBG

Извлеките файл JAR в каталог APKTool и переименуйте его в «apktool.jar»решает проблему.

Информация здесь: https://ibotpeaches.github.io/Apktool/install/

...