Преобразование AndroidManifest.xml в двоичный файл

У меня есть AndroidManifest.xml, и мне нужно преобразовать его в двоичный файл и поместить его вручную в APK. После этого я могу сделать ручной знак и выровнять.

Более длинное объяснение: у меня возникают проблемы с новыми инструментами, используемыми в реинжиниринге APK, и я собираю APK вручную с инструментами, которые не сбой.

Android включает sdklib.jar , но мне не sdklib.jar вызвать его (и он может не выполнять «просто» XML-> двоичное преобразование).

Как конвертировать AndroidManifest.xml в двоичный файл?

Вы можете попытаться запустить aapt вручную следующим образом:

 $LIBS"aapt" package -f -m -F output_unsigned.apk --auto-add-overlay -S main/res -J Temp/gen -G Temp/android-aapt.pro -A Temp/assets -M Temp/AndroidManifest.xml -I $LIBS"android.jar" 

В моем случае (под linux):

  • $ LIBS "aapt" – это путь к файлу aapt
  • Output_unsigned.apk – где сохранить созданный APK
  • Android-aapt.pro – это где сохранить конфигурацию для proguard
  • Temp / gen, Temp / assets – это мои папки проектов Android
  • Желаемый манифест Temp / AndroidManifest.xml
  • $ LIBS «android.jar» – это библиотека JAR для запрошенного уровня API Android

Возможно, это не работает для вас из коробки, но я надеюсь, что это поможет вам начать с нее. Для получения дополнительной информации обратитесь к справочной системе.

Если вы еще этого не видели, есть android-apktool , что весьма полезно для таких вещей. Я успешно использовал их раньше, переупаковывая APK вручную после изменения их двоичных файлов.

Вы также можете apkbuilder инструмент apkbuilder , который находится в моем apkbuilder android-sdk-linux/tools/ . (Однако он устарел.)