Как декомпилировать.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.

Другие вопросы по тегам