Невозможно установить приложение после редактирования AndroidManifest.xml для включения отладки.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Невозможно установить приложение после редактирования AndroidManifest.xml для включения отладки.

Сообщение Anonymous »

Проблема
Я пытаюсь отредактировать AndroidManifest.xml приложения, которое я скачал из магазина Play, чтобы включить отладка.
Я могу постоянно вносить изменения в smali-файлы приложения, перекомпилировать APK, выровнять его, подписать и без проблем установить обратно на свой телефон. Однако я не могу внести какие-либо изменения в AndroidManifest.xml.
Когда я добавляю application:debuggable="true" в AndroidManifest.xml< /code>, телефон выдает INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION после попытки установки (на реальном оборудовании).
Автор apktool считает, что это ошибка в jarsigner, а не в apktool. (см. https://github.com/iBotPeaches/Apktool/issues/2374)
Команды:
Декомпилировано с:

Код: Выделить всё

apktool d src/base.apk -f --force-manifest -r -o src/decoded
Скомпилировано с помощью:

Код: Выделить всё

apktool b --force-all -o src/output/base-unaligned.apk src/decoded
zipalign -f 4 src/output/base-unaligned.apk src/output/modified-base.apk
jarsigner -sigalg SHA256withRSA -digestalg SHA1 -keystore ~/.android/debug.keystore -storepass android src/output/base-unaligned.apk androiddebugkey
Установлено:

Код: Выделить всё

adb install src/output/modified-base.apk
Примечание: он успешно декомпилируется/компилируется. Ошибки появляются только при попытке установить APK.
  • Пытался возиться с алгоритмами, которые использует jarsigner, потому что некоторые из них выдают предупреждения о том, что ненадежный. Я не думаю, что это имеет большое значение.
  • Попробовал клонировать apktool и использовать предварительную версию.

    Пропробовал множество вариантов этих команд сборки
Мой Гипотеза:
Обычно, когда APK декомпилируется с помощью apktool, AndroidManifest.xml на самом деле не является XML-файлом. Вместо этого он имеет двоичный формат, называемый AXML.
Чтобы заставить apktool декомпилировать AndroidManifest.xml из AXML обратно в обычный XML, необходимо декомпилировать apk с помощью опция apktool --force-manifest. Я думаю, проблема в том, что AndroidManifest.xml не преобразуется обратно в AXML при повторной компиляции APK. Я проверил это, разархивировав полученный APK и проверив.
Я бы попробовал преобразовать его в AXML сам, чтобы посмотреть, исправит ли это проблему, но преобразование XML в AXML — непростая задача. Это можно было бы сделать с помощью aapt или aapt2, но это не самые удобные для пользователя программы в мире. Еще есть проект под названием axml2xml, но мне не удалось заставить его работать.
Вопросы
  • Есть ли более простой способ включить отладку приложения в контексте обратного проектирования?
  • Может ли моя гипотеза быть подтверждена или опровергнута?
  • В чем причина этой проблемы и как ее устранить или устранить?


Подробнее здесь: https://stackoverflow.com/questions/639 ... -debugging
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»