разобрать изменить и собрать

343
26 ноября 2016, 19:25

Месяцев 3 назад собрал приложение.никаких бд и ничего нет .чтото легкое .Проект сам утерян .теперь мне надо както сделать пару изменеий в проекте заменить текст и тд.Не знаю что делать ?можно ли как то декомпилоровать апк изменить данные и обратно компелировать ?

Очень нужна ваша помощ

Answer 1

для проведения таких действий вам потребуется:

  • dex2jar
  • Java Decompiler
  • ApkTool

Далее выполнить по следующим шагам:

  1. Качаем dex2jar и извлекаем в папку, например С:\Decompile .
  2. Качаем Java Decompiler (например JD-GUI) и извлекаем файлы для удобства в ту же папку, куда и dex2jar.
  3. Качаем apktool и apktool-install-windows-r04-brut1.tar.bz2 и извлекаем файлы уже в системную папку. По умолчанию C:\Windows. (Не забыть скачать второй архив)
  4. Берем нужный apk файл и кладем в папку с dex2jar и Java Decompiler.
  5. Открываем Командную строку (Обработчик команд Windows) в вышеупомянутой папке (В папке по пустому месте при зажатой кнопке Shift нажимаем правую кнопку мыши и выбираем Обработчик команд Windows).
  6. Вводим команду dex2jar <ваш apk файл> и если все прошло хорошо, в той же папке появится файл <название вашего файла>.apk.dex2jar.jar
  7. Запускаем jd-gui и открываем полученный на предыдущем шаге файл. (На Windows 7 открывать с правами администратора и с совместимостью Windows XP SP3)
  8. Выбираем пункт меню File-Save All Sources и сохраняем.
  9. Извлекаем полученный zip архив.
  10. Помещаем полученную папку в папку src (надо предварительно создать).(Что бы получилась примерно такая структура С:\Decompile\<название вашего файла>\src\com\android)
  11. Опять же в командной строке вводим команду apktool d <название вашего файла>.apk <название вашего файла>, где <название вашего файла>.apk-имя пакета, <название вашего файла>-папка для декомпиляции.

Если все хорошо, тогда в указанной папке будут исходники в двух форматах (java и smali), ресурсы и файлы AndroidManifest.xml, apktool.yml

Таким образом будут получены исходники. Правда после декомпиляции в коде есть, можно сказать, ошибки,например вместо true и false стоят 1 и 0 соответственно.

READ ALSO
В чем разница между @Column(length = 1000) и @Column(columnDefinition = &ldquo;text&rdquo;)

В чем разница между @Column(length = 1000) и @Column(columnDefinition = “text”)

Я использую hibernate и postgres В чем разница будет между

375
Запись данных в Realm

Запись данных в Realm

Читаю тьюториал по Realm и возник такой вопрос, по поводу записи данных в БД, есть такой код, является ли строчка User user = realmcreateObject(User

424
Как забилдить очень старый проект [закрыто]

Как забилдить очень старый проект [закрыто]

Добрый день, есть проект следующей иерархии

256
java.lang.IllegalStateException: Call `Realm.init(Context)` before calling this method

java.lang.IllegalStateException: Call `Realm.init(Context)` before calling this method

Хочу сохранить данные в базу данных Realm:

553