Всем привет. Есть ли возможность восстановить исходники приложения из apk файла??
HDD приказал долго жить, унеся с собой исходники последнего приложения.
Уже пробовал dex2jar, и несколько онлайн декомпиляторов.
С онлайн декомпилятором все неоднозначно, затыкается на mainactivity ошибкой NullPointerExtention.
А dex2jar не дает ясности в декомпилированом коде.
HDD приказал долго жить, унеся с собой исходники последнего приложения
Зашёл в этот вопрос случайно, увидев его в "Интересном", и не смог пройти мимо, прочитав, что
Иных вариантов нет
Не совсем понятно, почему вы даже не рассматриваете вариант восстановления данных.
Загляните к нам, в зависимости от того, что случилось с диском, может быть вполне бюджетно: https://восстановление-данных.рф/
Диагностика бесплатна, кроме того, вы можете попробовать сделать предварительную диагностику самостоятельно, скачав R.tester по ссылке выше (но только если диск не ударяли и он не издаёт посторонних звуков).
Качаем dex2jar-0.0.9.8.zip (номер версии может изменяться) и извлекаем все файлы в желаемую папку, например D:\Decompile .
Качаем Java Decompiler, я использовал JD-GUI и извлекаем файлы для удобства в ту же папку, куда и dex2jar.
Качаем apktool и apktool-install-windows-r04-brut1.tar.bz2 и извлекаем файлы уже в системную папку. По умолчанию C:\Windows. (Не забываем скачать второй архив)
Берем нужный apk файл и кладем в папку с dex2jar и Java Decompiler. В примере приведу декомпиляцию приложения Прикрепленный файлCalculator.zip ( 66,18 КБ )
. (надо извлечь из архива).
Открываем Командную строку (Обработчик команд Windows) в вышеупомянутой папке (В папке по пустому месте при зажатой кнопке Shift нажимаем правую кнопку мыши и выбираем Обработчик команд Windows).
Вводим команду dex2jar Calculator.apk и если все прошло хорошо, в той же папке появится файл Calculator.apk.dex2jar.jar
Запускаем jd-gui и открываем полученный на предыдущем шаге файл. (На Windows 7 открывать с правами администратора и с совместимостью Windows XP SP3)
Выбираем пункт меню File-Save All Sources и сохраняем.
Извлекаем полученный zip архив.
Помещаем полученную папку в папку src (надо предварительно создать).(Что бы получилась примерно такая структура D:\Decompile\Calculator\src\com\android)
Опять же в командной строке вводим команду apktool d Calculator.apk Calculator, где Calculator.apk-имя пакета, Calculator-папка для декомпиляции
Если все хорошо, тогда в указанной папке будут исходники в двух форматах (java и smali), ресурсы и файлы AndroidManifest.xml, apktool.yml
Все готово, исходники получены. Правда после декомпиляции в коде есть, можно сказать, ошибки, я заметил пока только что вместо true и false стоят 1 и 0 соответственно.
Дмитрий, ну а вы видимо хотите чтоб итоговый результат сразу можно было собрать и без ошибок? Так бывает очень редко, поэтому вы либо пишете приложение заново, либо имеете код, который необходимо немного подправить. Иных вариантов нет.