我不小心从Eclipse中删除了我的项目,现在只剩下我转移到手机上的APK文件。是否有一种方法可以逆转将应用程序导出到.apk文件的过程,以便我可以取回我的项目?


当前回答

是的,你可以拿回你的项目。只要将yourproject.apk文件重命名为yourproject.zip,你就会得到该ZIP文件中的所有文件。我们正在将文件扩展名从。apk更改为。zip。从该ZIP文件中,提取classes.dex文件并按以下方法反编译它。

首先,您需要一个工具将DEX上的所有(已编译的)类提取到JAR中。 有一个叫dex2jar的,是一个中国学生做的。

然后,您可以使用JD-GUI将JAR中的类反编译为源代码。由于dex2jar应用了一些优化,因此得到的源代码应该非常易于阅读。

其他回答

不是真的。有许多dex反汇编程序/反编译器套件,如smali或dex2jar,它们将生成半人类可读的输出(在dex2jar的情况下,您可以通过使用类似于j - gui的东西来获得java代码,但这个过程并不完美,而且您不太可能100%地重新创建源代码。但是,它可能会为您提供一个重新构建源代码树的地方。

是的,你可以拿回你的项目。只要将yourproject.apk文件重命名为yourproject.zip,你就会得到该ZIP文件中的所有文件。我们正在将文件扩展名从。apk更改为。zip。从该ZIP文件中,提取classes.dex文件并按以下方法反编译它。

首先,您需要一个工具将DEX上的所有(已编译的)类提取到JAR中。 有一个叫dex2jar的,是一个中国学生做的。

然后,您可以使用JD-GUI将JAR中的类反编译为源代码。由于dex2jar应用了一些优化,因此得到的源代码应该非常易于阅读。

对于Android平台,你可以尝试Play Store上提供的ShowJava。

您可以通过应用程序界面查询生成的代码,生成的java文件和文件夹结构存储在/sdcard中的ShowJava文件夹中,以及转换后的.jar文件。

这款应用是免费的,在主视图底部有一个广告横幅,但有一个应用内购买选项(3,99美元)可以删除它。除了移除广告横幅外,应用内购买并未添加任何功能。

披露:我不是这个应用程序的开发者,也没有任何与他有关的关系。

您可能需要使用的另一个工具是APK Studio 然而,它依赖于第三方工具:Apktool, jadx, ADB和Uber APK签名者,你需要单独下载。

下面是一些你可以用来从APK文件到源代码执行逆向工程的工具:

Dex2jar Java编译器的 Apktool Apk分析器