Как декомпилировать.apk без ошибок?
Я попробовал apktool, и даже онлайн-версию, http://www.decompileandroid.com/ Но все еще не могу получить что-то, что работает в затмении.
Я хочу декомпилировать приложение под названием Bucket Drop, которое было сделано в рамках курса Android. Я хочу посмотреть на исходный код и настроить его.
Когда я попытался декомпилировать файл.apk, в нем отсутствовали файлы.classpath и.project, поэтому я создал новый проект в eclipse и скопировал в него исходный код, но по какой-то причине eclipse показывает, что приложение содержит ошибки!
Что я делаю?
2 ответа
How-To: декомпилировать / перекомпилировать apk с помощью ApkTool
Требования:
ApkTool Java JDK / JRE 32-битные базовые знания Cmd/ терминала
Скачать ApkTool здесь
ApkTool.zip
сначала вам нужно распаковать эту zip-папку в любое место по вашему выбору, желательно в корень диска c/, то есть: C:/android/apktool, распаковав файлы в папку 'apktool'
Теперь поместите STOCK framework-res.apk и все остальные apk, которые вы хотите изменить, в папку 'apktool'
Как попасть в каталог CMD
Откройте Cmd Prompt (терминал) и перейдите в каталог apktool, то есть:
Ваш cmd, вероятно, будет выглядеть так..
C: \ Users\ вашеимя>
так введите
CD.. (Да, включите ".." и нажмите клавишу ввода после ввода каждой команды)
это позволит вам вернуться в каталог, так что теперь вы увидите
C: \ Пользователи>
так что набери еще раз
CD..
Теперь вы должны увидеть это:
C:>
Теперь введите:
cd 'apktoo'l /' directory '
для меня это выглядит так:
cd android / apktool
теперь вы должны увидеть:
C: / Android / apktool>
а ты в каталоге apktool: D
Нажмите, чтобы развернуть...
Установка фреймворка
Теперь, когда вы находитесь в каталоге, нам нужно установить каркас устройства в вашу систему, чтобы он правильно компилировался, поэтому введите:
apktool if framework-res.apk
это установит платформу устройств в вашу систему (нужно сделать это)
декомпиляция
Теперь, чтобы декомпилировать apk, который вы хотите отредактировать, введите:
apktool d framework-res.apk framework1
или же
apktool d music.apk music
music.apk - это apk, ваша декомпилируемая музыка - это папка, которую вы создаете для декомпилированного apk
Теперь внесите свои изменения: D НЕ меняйте / редактируйте ЛЮБЫЕ PNG
Перекомпиляция / Готовый продукт
Теперь, чтобы перекомпилировать ваш новый apk введите:
apktool b music music-new.apk
или же
apktool b framework1 framework-res-new.apk
framework1 - это папка с вашими отредактированными файлами. framework-res-new.apk - это ваш новый apk-файл: D
Теперь мы НЕ закончили... мы не можем использовать новые apk... мы должны взять то, что сделали, и добавить его обратно в исходный файл apk, чтобы сохранить правильную подпись: D
используйте что-то вроде 7zip, возьмите файл 'resources.arcs' и любые другие xml-файлы, которые вы отредактировали, из "-new" apk и скопируйте их в Original apk
теперь apk готов прошиться с вашими новыми изменениями:D:D
Надеюсь, что это помогло некоторым из вас, новичкам!
Источник: AndroidForums
Один из моих коллег написал Ruby Gem для решения этой проблемы. Он может декомпилировать Apk и открывать его код в дружественном графическом интерфейсе. apkToJava - это название драгоценного камня. Вы должны попробовать это один раз.
Это простой в использовании инструмент, требующий от двух до трех команд для декомпиляции Apk.
gem install apkToJava
apkToJava setup
apkToJava /path/to/apk/file.apk
На данный момент его поддерживают только две операционные системы Mac OS и Linux.