有没有办法提取和查看.apk文件的内容?
实际上apk文件只是一个zip存档,因此您可以尝试将文件重命名为theappname.apk.zip
并使用任何zip实用程序(例如7zip)将其解压缩。
androidmanifest.xml
文件和资源将被提取并可以查看,而源代码不在包中 - 只是编译的.dex文件(“Dalvik可执行文件”)
如果使用cordova和angularjs开发Hybrid应用程序,您可以:
1)将.apk文件重命名为.zip 2)提取/解压缩内容 3)在assets文件夹中,您将获得www文件夹
你也可以使用Jadx - https://github.com/skylot/jadx。我使用了本页中提到的所有工具,发现Jadx效果最好。清单文件和其他类文件尽可能通过此工具转换为可读格式。
PS - http://www.javadecompilers.com/apk也使用jadx反编译器在线完成同样的工作。如果要取消归档单个apk,则更简单。
干杯!
您还可以在Android设备本身中查看APK文件的内容,这有助于调试。
包括应用程序清单在内的所有文件都可以查看,也可以使用电子邮件,云等共享,无需生根。应用程序可从:
https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek
免责声明:我是这个应用程序的作者。
APK Scanner可以在电脑上显示APK文件的信息。 另外,可以从Android设备中提取apk文件。 并且可以链接到其他工具。(JADX-GUI,JD-GUI ...)
解压缩将揭示资源,而AndroidManifest.xml
将被编码。 apktool
可以 - 在很多其他事情中 - 也解码这个文件。
要将应用程序App.apk
解码到App
文件夹中,请运行
apktool decode App.apk App
apktool
不包含在官方Android SDK中,但可以使用大多数数据包存储库。
还有zzos。 (完全披露:我写了)。它只反编译实际资源,而不是dex部分(baksmali,我没有写,在处理那部分方面做得很好)。
Zzos比apktool更不为人所知,但是有一些APK可以更好地处理它(反之亦然 - 稍后会更多)。大多数情况下,上次检查时,apktool不会处理包含自定义资源类型(不是修饰符)的APK,并且由zzos处理。还有一些情况下逃避zzos处理更好。
在消极方面,zzos(当前版本)需要一些支持工具来安装。它是用perl编写的(而不是用Java编写的APKTool),并使用aapt进行实际的反编译。它还没有对attrib资源进行反编译(APKTool会这样做)。
这个名字的意思是“aapt”,Android的资源编译器,向下移了一个字母。
4个建议的方法来打开apk文件:
1.开放apk文件由Android Studio(适用于照片,java代码和分析大小)的最佳方式
2.通过应用程序winRar,7zip等打开(只是为了看照片和...)
3.use website javadecompilers(照片和java代码)
4.使用APK Tools(照片和java代码)
Android apks有一个在线反编译器
http://www.decompileandroid.com/
从本地机器上传apk
等一会儿
下载zip格式的源代码。
解压缩后,您可以正确查看所有资源,但所有java文件都未正确反编译。
unzip my.apk
这可以解决Linux命令行的问题。
根据您想要提取APK的原因,APK分析器可能就足够了。它显示了目录和文件大小。它还显示了可以深入分析的按包分组的方法计数。
APK Analyzer内置于Android Studio中。您可以从顶部菜单Build - > Analyze APK访问它。