我正在为Android创建一个应用程序,它已接近完成但现在硬盘崩溃了,我丢失了所有数据以及我的应用程序的源代码。但是,幸运的是我已经在我的手机上安装了该应用程序,因此我获得了应用程序的.apk文件,并使用本文中提到的步骤Is there a way to get the source code from an APK file?
对文件进行了反编译。但是我遇到了一个问题,源代码有所改变,在我提到的一些地方,一些变量名被一些数字取代。我附上代码的屏幕截图,以便您可以正确查看问题。
有谁能告诉我如何解决问题并恢复我写的原始代码。因为我不能浪费时间再写一遍代码。
我无法在此处上传截图,因此我粘贴了照片的链接。
答案 0 :(得分:3)
您无法从APK恢复确切的源代码;它不在那里。你已经恢复的代码是你能做的最好的 - 它是基于编译代码的近似值。
根据你已经恢复的截图,你很幸运能够达到那么高的水平。
答案 1 :(得分:2)
变量的问题可能是由混淆器 - ProGuard引起的。有一种方法可以对它进行去混淆,但如上所述,你已经走得很远了,你很幸运能得到你拥有的东西。
编辑:
来自官方developer site:
警告:每次在发布模式下运行构建时,这些文件都会被ProGuard生成的最新文件覆盖。每次发布应用程序时都保存它们的副本,以便从发布版本中去除混淆错误报告。
我不确定您是否可以使用原始ProGuard设置对其进行去混淆...