我笔记本电脑上的硬盘刚刚崩溃,我丢失了过去两个月一直在开发的应用程序的所有源代码。我只有一个APK文件,它存储在我发给朋友的电子邮件中。

有没有办法从这个APK文件中提取我的源代码?


当前回答

此网站https://www.apkdecompilers.com/自动完成。

我先尝试了被接受的答案中提到的网站,但这对我来说不起作用。

其他回答

此网站https://www.apkdecompilers.com/自动完成。

我先尝试了被接受的答案中提到的网站,但这对我来说不起作用。

虽然您可以反编译APK文件,但您可能会遇到一个大问题:

它不会返回您编写的代码。相反,它将返回编译器内联的任何内容,变量为随机名称,函数为随机名称。尝试反编译并将其还原为您所拥有的代码可能需要比重新开始花费更多的时间。

可悲的是,这样的事情已经扼杀了许多项目。对于未来,我强烈建议学习版本控制系统,如CVS、SVN和git等。

以及如何备份。

单击解决方案(仅限Windows)

在阅读了这篇loooooonnnnngggg帖子后,我决定创建一个自动化的过程,只需单击一下即可反编译APK,

我决定在github上分享:https://github.com/shaybc/apk-decompiler

simply unzip,
copy the apk you want to decompile into "apk-source" folder
and run "go.bat"
find the result in the: "apk-output" folder

就这样,享受吧

我开发了一个工具代码分析器,它在iPhone/iPad/Mac中运行,用于分析Java/Android文件,https://decompile.io

这是另一种描述,以防有人被上面的描述卡住。遵循以下步骤:

从以下位置下载apktool.bat(或适用于Linux的apktool)和apktool_<version>.jarhttp://ibotpeaches.github.io/Apktool/install/ 将jar文件从上面重命名为apktool.jar,并将两个文件放在同一文件夹中打开一个dos框(cmd.exe)并切换到该文件夹;验证是否安装了Java环境(对于Linux,请查看有关所需库的说明)开始:apktool解码[apk文件]中间结果:资源文件,AndroidManifest.xml使用您选择的解包器解压缩APK文件中间结果:classes.dex从http://code.google.com/p/dex2jar/downloads/detail?name=dex2jar-0.0.9.15.zip&can=2&q=将classes.dex拖放到dex2jar.bat上(或在DOS框中输入<path_to>\dex2jar.classes.dex;对于Linux,使用dex2jars.sh)中间结果:classes_dex2jar.jar解包classes_dex2jar.jar(可能是可选的,取决于使用的反编译器)反编译类文件(例如,使用JD-GUI或DJ反编译程序)结果:源代码

注意:不允许对第三方软件包进行反编译;本指南仅用于从APK文件恢复个人源代码;最后,生成的代码很可能会被混淆