
参见英文答案 > Is there a way to get the source code from an APK file? 21个
实际上我试图提取一个名为cloudfilz.apk的.apk文件的代码,并想在其源代码中 *** 作,所以我按照下面给出的步骤: –
创建一个新的文件夹并放入.apk文件(你要解码)现在重命名这个扩展名为.zip的.apk文件(例如:从filename.apk重命名为filename.apk.zip)并保存它..现在你得到了类.dex文件等…在这个阶段你可以看到drawable而不是xml和java文件……所以继续……
第2步:
现在解压缩此zip文件在同一个文件夹中(在这个例子或case NEW FolDER).现在从这个链接http://code.google.com/p/dex2jar/下载dex2jar并将其解压缩到同一个文件夹(在这种情况下为NEW FolDER)…..现在打开命令提示符并到达该文件夹(在这种情况下为NEW FolDER)….在达到写入后“ dex2jar classes.dex“并按下回车…..现在你在同一个文件夹中得到classes.dex.dex2jar文件……
=>问题: – 我成功实现了第1步,但在第2步,当我执行dex2jar classes.dex时,我在命令提示符java.lang.UnsupportedClassversionError上收到错误,我知道这是由于我安装的jdk版本和classes.dex jdk版本号如此卡在这里,dnt有出路…
解决方法:
注意:除非另有说明,否则以下所有说明均适用(也适用于所有 *** 作系统).
Prerequsites
你会需要:
>一个工作Java installation
>工作终端/命令提示符
>一台电脑
>一个APK文件
脚步
第1步:更改APK文件的文件扩展名
>通过在文件名中添加.zip扩展名来更改.apk文件的文件扩展名,或将.apk更改为.zip.
例如,com.example.apk变为com.example.zip或com.example.apk.zip.请注意,在windows和macOS上,它可能会提示您是否确定要更改文件扩展名.如果您使用的是macOS,请单击“确定”或“添加”:
第2步:从APK中提取Java文件
>在特定文件夹中提取重命名的APK文件.例如,让该文件夹为demofolder.
>如果它不起作用,请尝试在另一个应用程序(如WinZip或7-Zip)中打开该文件.
>对于macOS,您可以尝试在终端中运行解压缩(在/Applications/Terminal.app中可用),其中需要一个或多个参数:解压缩可选参数的文件.请参阅man解压缩文档和参数.
>下载dex2jar (see all releases on GitHub)并将该zip文件解压缩到上一点所述的同一文件夹中.
>打开命令提示符(或终端)并将当前目录更改为在上一点创建的文件夹,然后键入命令d2j-dex2jar.bat classes.dex并按Enter键.这将在同一文件夹中生成classes-dex2jar.jar文件.
> macOS / linux用户:将d2j-dex2jar.bat替换为d2j-dex2jar.sh.换句话说,在终端中运行d2j-jar2dex.sh classes.dex并按Enter键.
>下载Java Decompiler (see all releases on Github)并解压缩并启动(也就是双击)可执行文件/应用程序.
>在JD-GUI窗口中,将生成的classes-dex2jar.jar文件拖放到其中,或转到文件>打开文件…并浏览jar.
>接下来,在菜单中,转到文件>保存所有来源(windows:Ctrl Alt S,macOS:⌘⌥S).这应该打开一个对话框,询问你在哪里保存一个名为`classes-dex2jar.jar.src.zip’的zip文件,包含所有包和java文件.(你可以重命名要保存的zip文件)
>解压缩该zip文件(classes-dex2jar.jar.src.zip),您应该获取该应用程序的所有java文件.
第3步:从APK获取xml文件
>有关详细信息,请参阅apktool website以获取安装说明等
> windows:
>下载wrapper script (optional)和apktool jar (required)并将其放在同一文件夹中(例如,myxmlfolder).
>将当前目录更改为myxmlfolder文件夹,并将apktool jar文件重命名为apktool.jar.
>将.apk文件放在同一个文件夹中(即myxmlfolder).
>打开命令提示符(或终端)并将当前目录更改为存储apktool的文件夹(在本例中为myxmlfolder).接下来,键入命令apktool if framework-res.apk.
我们在这里做的是我们正在安装一个框架.有关详细信息,请参阅docs.
>上面的命令应该导致“Framework安装……”
>在命令提示符下,键入命令apktool d filename.apk(其中filename是apk文件的名称).这应该解码文件.有关详细信息,请参阅docs.
这应该导致输出文件名filename.out,其中filename是没有.apk文件扩展名的apk文件的原始名称.在这个文件夹中是所有XML文件,如布局,drawables等.
资料来源:How to get source code from APK file – Comptech Blogspot
总结以上是内存溢出为你收集整理的android – 如何提取apk文件的代码全部内容,希望文章能够帮你解决android – 如何提取apk文件的代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)