我笔记本电脑上的硬盘死机了,我丢失了过去两个月一直在开发的一个应用程序的所有源代码。
我只有一个APK文件,从我给朋友发邮件时起,它就储存在我的电子邮件中
有没有办法从这个APK文件中提取我的源代码
简单方法:使用在线工具https://www.decompiler.com/,上传apk并获取源代码
解码.apk文件的步骤,分步方法:
步骤1:
-
创建一个新文件夹并复制到要解码的.apk文件上
-
现在将这个.apk文件的扩展名重命名为.zip(例如,从filename.apk重命名为filename.zip)并保存它。现在您可以访问classes.dex文件等。在这个阶段,您可以看到可绘制文件,但不能看到xml和java文件,所以继续
步骤2:
-
现在在同一个文件夹(或新文件夹)中解压缩这个.zip文件
-
下载dex2jar并将其解压缩到同一文件夹(或新文件夹)
-
将classes.dex文件移动到dex2jar文件夹中
-
现在打开命令提示符并将目录更改为该文件夹(或新文件夹)。然后编写
d2j-dex2jar classes.dex(对于mac终端或ubuntu编写/d2j-dex2jar.sh classes.dex)并按enter键。现在,classes.dex.dex2jar文件位于同一文件夹中 -
下载java反编译器,双击JDGUI,单击open file,然后从该文件夹中打开classes.dex.dex2jar文件:现在就可以得到类文件了
-
按src名称保存所有这些类文件(在jd gui中,单击文件->;保存所有源文件)。在这个阶段,您获得了java源代码,但是.xml文件仍然无法读取,所以继续
步骤3:
现在打开另一个新文件夹
-
放入要解码的.apk文件
-
下载最新版本的apktool和apktool安装窗口(都可以从同一链接下载),并将它们放在同一文件夹中
-
打开命令窗口
-
现在运行命令,如
apktool if framework-res.apk(如果您没有它,请在此处获取),然后执行下一步 -
apktool d myApp.apk(其中myApp.apk表示要解码的文件名)
现在,您在该文件夹中获得了一个文件文件夹,可以轻松地读取apk的xml文件
步骤4:
这不是任何步骤,只需将两个文件夹(在本例中为两个新文件夹)的内容复制到单个文件夹即可
并享受源代码