Как конвертировать .apk файлы в java - PullRequest
12 голосов
/ 01 января 2011

Как конвертировать .apk файлы в Java в Android.

Ответы [ 3 ]

16 голосов
/ 17 февраля 2011

Расширение, которое Google использует для приложений Android (APK), на первый взгляд может показаться немного сложным, но на самом деле это не так.На самом деле .apk - это не что иное, как файл .zip, замаскированный под .apk.Это ошарашивает, но ты понимаешь.По сути, если кто-то хочет посмотреть, что находится внутри приложения, они просто поменяют расширение application-name.apk на application-name.zip, разархивируют его.И вот оно: содержимое .apk!Мы еще не закончили, читайте дальше после перерыва.Вот где это становится сложным.Внутри папки, в которую вы распаковали содержимое приложения, вы найдете файл с именем classes.dex.Это самый важный файл всего приложения, содержащий все файлы Java, но он зашифрован!Не беспокойтесь, это может быть легко решено.Вам понадобятся две вещи:

  1. Dex2Jar из http://code.google.com/p/dex2jar/
  2. Обычный декомпилятор Java, например JD из http://java.decompiler.free.fr

Копирование классов.dex в папку, в которую вы распаковали Dex2Jar, и запустите из командной строки: «dex2jar.bat classes.dex». Это создаст файл со странным именем, например: «classes.dex.dex2jar.jar». Если у вас установлен WinRARВы можете просто распаковать файлы.Если вы этого не сделаете, установите его.А теперь иди и настрой его по своему вкусу!

8 голосов
/ 10 января 2014

Легко, просто выполните следующие 4 шага:

1) Разархивируйте .apk в папку и получите файл classes.dex.

2) Поместите этот файл classes.dex в dex2jar (вы должны загрузить его) и выполните ./dex2jar.sh classes.dex в терминале.

3) Это создаст classes.dex.dex2jar.jar, поместите его в jd-gui (вы должны скачать это).

4) Выполнить ./jd-gui classes.dex.dex2jar.jar --- сгенерирует файлы .java.

0 голосов
/ 07 сентября 2011

Вы не можете просто конвертировать банку в apk. Это должно быть скомпилировано для Android. В java-библиотеке Android нет всего того, что есть в обычном java, поэтому приложение, скорее всего, придется переписать, чтобы оно работало на Android

.

Уверен, что MID-леты (банки MIDP) не используют Swing или AWT. У них есть отдельный пользовательский интерфейс API под javax.microedition.lcdui (http://java.sun.com/javame/reference/apis/jsr037/javax/microedition/lcdui/package-summary.html)

Что касается преобразования MIDP-программ в работающие APK, то, безусловно, есть способ. Технически это не преобразование, а использование обёртки вокруг необращённого мидлета. Именно такой подход использует Opera Mini для Android. Дополнительная информация:

http://edugoing.com/qna/index.php?qa=unanswered&start=40

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...