3

我正在为 Android 创建一个应用程序,它几乎完成了,但现在硬盘驱动器崩溃了,我丢失了所有数据以及应用程序的源代码。但是,幸运的是我已经在我的手机上安装了那个应用程序,所以我得到了我的应用程序的 .apk 文件,并且还使用本文中提到的步骤对文件进行了反编译,有没有办法从 APK 文件中获取源代码?

但是我遇到了一个问题,来源发生了一些变化,在某些地方我提到了一些变量名被一些数字代替。我附上了代码的屏幕截图,以便您可以正确查看问题。

谁能告诉我如何解决问题并恢复我编写的原始代码。因为我不能浪费时间再次编写整个代码。

我无法在此处上传屏幕截图,因此我将链接粘贴到照片中。

在此处输入图像描述

4

2 回答 2

3

您无法从 APK 中恢复确切的源代码;它不在那里。你恢复的代码是你能做的最好的——它是基于编译代码的近似值。

根据你恢复的截图,你很幸运能拥有这么高水平的东西。

于 2012-08-15T11:14:22.840 回答
2

使用来将其转换为 JAR,然后使用来获取代码。

变量的问题可能是由混淆器 - ProGuard 引起的。有一种去混淆它的方法,但如上所述,你已经走得很远,你很幸运能拥有你所拥有的。

编辑:

来自官方开发者网站

注意:每次在发布模式下运行构建时,这些文件都会被 ProGuard 生成的最新文件覆盖。每次发布应用程序时保存它们的副本,以便从发布版本中消除混淆错误报告。

我不确定您是否可以在没有原始 ProGuard 设置的情况下对其进行去混淆...

于 2012-08-15T11:18:11.583 回答