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