14

如何.apk在android中将文件转换为java。

4

3 回答 3

18

Google 用于 Android 应用程序 (APK) 的扩展程序乍一看可能有点复杂,但实际上并非如此。事实上,.apk 只不过是伪装成 .apk 的 .zip 文件。这让事情变得愚蠢,但你明白了。本质上,如果想查看应用程序内部的内容,他们只需将 application-name.apk 的扩展名更改为 application-name.zip,然后解压缩即可。有了它:.apk 的内容!我们还没有完成,休息后阅读更多内容。这就是棘手的地方。在您解压缩应用程序内容的文件夹中,您会找到一个名为 classes.dex 的文件。那是整个应用程序中最重要的文件,包含所有的 java 文件,但它是加密的!不用担心,这很容易解决。你需要两件事:

  1. 来自http://code.google.com/p/dex2jar/的 Dex2Jar
  2. 一个常规的 Java 反编译器,例如来自http://java.decompiler.free.fr的 JD

将 classes.dex 复制到解压 Dex2Jar 的文件夹中,然后从命令行运行:“dex2jar.bat classes.dex” 这将生成一个文件,奇怪的名称类似于:“classes.dex.dex2jar.jar” 如果你有WinRAR 已安装,您只需解压缩文件即可。如果没有,请安装它。现在继续并根据自己的喜好进行调整!

于 2011-02-17T09:59:34.210 回答
9

只需遵循以下 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文件。

于 2014-01-10T07:30:01.083 回答
0

您不能只将 jar 转换为 apk。它必须为android编译。Android 的 java 库没有普通 java 中的所有 Swing 东西,所以很可能必须重新编写应用程序才能在 android 上运行

很确定 MIDlets(MIDP jars)不使用 Swing 或 awt。他们在 javax.microedition.lcdui 下有一个单独的用户界面 api (http://java.sun.com/javame/reference/apis/jsr037/javax/microedition/lcdui/package-summary.html)

至于将 MIDP 程序转换为可运行的 APK,当然是有办法的。从技术上讲,这不是转换,而是使用未转换的 MIDlet 的包装器。这是 Opera Mini for Android 使用的方法。更多信息:

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

于 2011-09-07T12:15:45.223 回答