我笔记本电脑上的硬盘刚刚崩溃,我丢失了过去两个月一直在开发的应用程序的所有源代码。我只有一个APK文件,它存储在我发给朋友的电子邮件中。
有没有办法从这个APK文件中提取我的源代码?
我笔记本电脑上的硬盘刚刚崩溃,我丢失了过去两个月一直在开发的应用程序的所有源代码。我只有一个APK文件,它存储在我发给朋友的电子邮件中。
有没有办法从这个APK文件中提取我的源代码?
当前回答
单击解决方案(仅限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
就这样,享受吧
其他回答
几天来,我一直想让dex2jar在一台软呢帽31笔记本电脑上与一台无法工作的apk进行比较,这让我发疯了。这个python3脚本在几分钟内就完成了这个任务,安装jdgui使类文件变得可读。
http://java-decompiler.github.io/
https://github.com/Storyyeller/enjarify
具体来说,下面是我运行的:
# i installed apktool before the rest of the stuff, may not need it but here it is
$> cd /opt
$> sudo mkdir apktool
$> cd apktool/
$> sudo wget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool
$> sudo wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.4.1.jar
$> sudo mv apktool_2.4.1.jar apktool.jar
$> sudo mv apktool* /usr/bin/
$> sudo chmod a+x /usr/bin/apktool*
# and enjarify
$> cd /opt
$> sudo git clone https://github.com/Storyyeller/enjarify.git
$> cd enjarify/
$> sudo ln -s /opt/enjarify/enjarify.sh /usr/bin/enjarify
# and finally jd-gui
$> cd /opt
$> sudo git clone https://github.com/java-decompiler/jd-gui.git
$> cd jd-gui/
$> sudo ./gradlew build
# I made an alias to kick of the jd-gui with short commandline rather than long java -jar blahblahblah :)
$> echo "jd-gui='java -jar /opt/jd-gui/build/launch4j/lib/jd-gui-1.6.6.jar'" >> ~/.bashrc
现在应该可以使用以下方法获取类文件:
$> enjarify yourapkfile.apk
要启动jd-gui:
$> jd-gui
那就打开你的课堂文件吧!
最简单的方法是使用Apk OneClick分解器。这是一个用于反编译和反汇编APK(android软件包)的工具包。
特征
所有功能都集成到Windows的右键单击菜单中。将APK类分解为Java源代码。将APK分解为smali代码并解码其资源。通过右键单击将APK安装到手机。编辑smali代码和/或资源后重新编译APK。重新编译期间:优化png图像签署apks优化
要求
必须安装Java Runtime Environment(JRE)。
你可以从这个链接下载Apk OneClick解压程序
好好享受吧。
在线工具下方:
http://www.javadecompilers.com/apk
它只需单击一下即可完成所有操作:反编译的.java文件+资源+xml(在一个.zip文件中)和非常好的反编译器(jadx在其他编译位置/函数中返回java代码,其他编译返回函数内的注释,如“无法反编译”或某些android汇编程序/机器代码)
Play Store上还有一个新的应用程序,它可以反编译apk(系统应用程序),并在智能手机上查看源代码。它将文件保存到SD卡中,以便您也可以在计算机上查看。它不需要根或其他东西。
只需安装并享受乐趣。我认为这是反编译应用程序最简单的方法。
我个人建议Show Java Android App获取源代码。您可以从play商店或此处下载