Подтвердить что ты не робот

Извлечение Android.apk и чтение содержимого XML файла в res/layout

Я пытаюсь перепроектировать существующее приложение для Android и понять, как сконструирован определенный пользовательский интерфейс. Я обнаружил, что я могу переименовать apk в zip и просмотреть часть скомпилированного источника. Каталог res/layout заполняется всеми XML файлами, которые определяют пользовательский интерфейс, но, хотя у них есть расширение xml, они не находятся в формате XML. Есть ли способ конвертировать эти файлы обратно в текстовую разметку?

4b9b3361

Ответ 1

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

Ответ 2

Создайте новую папку и поместите в нее файл .apk, который вы хотите декодировать.

Загрузите последнюю версию с здесь.

Откройте cmd, затем перейдите в корневой каталог APKtool и введите следующую команду:

apktool d myApp.apk 

(где myApp.apk - это имя файла, который вы хотите декодировать)

теперь вы получаете папку с файлами в этой папке и можете легко читать файлы apk xml.

Вот ссылка для более подробной инструкции по установке

Ответ 3

Сначала скройте < .apk .zip. Внутри вы получите скомпилированную версию файлов классов java с именем .dex. примените нижеприведенный трюк, чтобы преобразовать этот dex в файлы классов

Есть способ сделать это. Небольшой нетипичный способ - загрузить этот инструмент с открытым исходным кодом dextojar http://code.google.com/p/dex2jar/

Это преобразует ваши файлы dex в файл Jar. Отвяжите эти файлы, чтобы получить файлы классов Java.

Затем переконвертируйте файлы классов java, чтобы получить код Java. Не используйте его для разрыва некоторых коммерческих проектов.

Спасибо

Ответ 4

Для тех, кто любит ярлыки: и используя убунто,

перейти к cmd: ctl + alt + t

Тип:

sudo apt install apktool

нажмите ввод затем перейдите в папку apk (для декомпиляции). используя

cd ~/folder_name

затем введите:

apktool d yourAppName.apk

и бум, все готово.

Ответ 5

Если вы просто хотите знать конструкцию пользовательского интерфейса, вы можете использовать Hierarchy Viewer