是否可以查看Androidmanifest.xml文件?

我刚刚把apk文件的扩展名改成了zip。此zip文件包含Androidmanifest.xml文件。但是我无法查看Androidmanifest.xml的内容。它是完全加密的。

如何查看Androidmanifest.xml文件?


是的,您可以查看Android APK文件的XML文件。有一个工具:android-apktool

它是逆向工程的一个工具 派对,封闭,二进制Android应用程序

如何在Windows系统上做到这一点:

下载apktool-install-windows-*文件 下载apktool-*文件 将两者解压到Windows目录中

现在将APK文件也复制到该目录中,并在命令提示符中运行以下命令:

apktool d HelloWorld.apk ./HelloWorld

这将在当前目录中创建一个目录“HelloWorld”。在它里面你可以找到解密格式的AndroidManifest.xml文件,你也可以在“HelloWorld/res/layout”目录中找到其他XML文件。

HelloWorld.apk是你的Android APK文件。

请看下面的截图了解更多信息:


在这篇文章中,Dianne Hackborn告诉我们,我们可以使用aapt从AndroidManifest中获取信息。

我快速编写了这个unix命令来获取版本信息:

aapt dump badging my.apk | sed -n "s/.*versionName='\([^']*\).*/\1/p"

AXMLParser和APKParser.jar也可以完成这项工作,你可以看到链接。AXMLParser


这是一个旧的线程,但我想我要提一下,你的手机有根,你可以直接在你的手机上使用根资源管理器应用程序来查看它。你甚至不需要提取它来查看。


aapt d xmltree com.package.apk AndroidManifest.xml

将从指定的APK转储AndroidManifest.xml。它不是XML格式的,但仍然可以阅读。

aapt (Android资产打包工具)是Android SDK自带的内置工具。


有一个在线工具可以让你上传一个APK,它可以反编译它,最后让你下载一个压缩文件,所有的源代码,manifest XML文件等等反编译,所有这些都不需要在你的电脑上安装任何程序: http://www.javadecompilers.com/apk

如果你想检查一些参数,你可以通过它们的UI


您可以使用这个命令:保存到文件AndroidManifest.txt

aapt dump xmltree gmail.apk AndroidManifest.xml > AndroidManifest.txt

Android Studio现在可以显示这个。去构建>分析APK…然后选择apk。然后你可以看到AndroidManifest文件的内容。


谷歌刚刚发布了一个跨平台的开源工具,用于检查apk(在许多其他二进制Android格式中):

ClassyShark是Android开发人员的一个独立的二进制检查工具。它可以可靠地浏览任何Android可执行文件,并显示重要信息,如类接口和成员,dex计数和依赖关系。ClassyShark支持多种格式,包括库(.dex, .aar, .so),可执行文件(.apk, .jar, .class)和所有Android二进制xml: AndroidManifest,资源,布局等。

安装8.2版:

wget https://github.com/google/android-classyshark/releases/download/8.2/ClassyShark.jar

Run:

java -jar ClassyShark.jar -open <file.apk>

你也可以使用我的app, app Detective来查看你在设备上安装的任何应用程序的清单文件。


文件需要被反编译(或deodex不确定哪一个)。但这里有另一种方法:

-Download free Tickle My Android tool on XDA: https://forum.xda-developers.com/showthread.php?t=1633333https://forum.xda-developers.com/showthread.php?t=1633333
-Unzip
-Copy APK into \_WorkArea1\_in\ folder
-Open "Tickle My Android.exe"
-Theming Menu
-Decompile Files->Any key to continue (ignore warning)
-Decompile Files->1->[Enter]->y[Enter]
-Wait for it to decompile in new window... Done when new window closes
-Decompiled/viewable files will be here: \_WorkArea3\_working\[App]\

Aapt2,包括在Android SDK构建工具可以做到这一点-不需要第三方工具。

$(ANDROID_SDK)/build-tools/28.0.3/aapt2 d --file AndroidManifest.xml app-foo-release.apk

从build-tools v29开始,你必须添加命令xmltree:

$(ANDROID_SDK)/build-tools/29.0.3/aapt2 d xmltree --file AndroidManifest.xml app-foo-release.apk

使用axmldec解码AndroidManifest.xml文件:

axmldec -o output.xml AndroidManifest.xml

or

axmldec -o output.xml AndroidApp.apk

您可以使用apkanalyzer,与Android SDK绑定的APK Analyzer命令行版本。在CLI界面执行如下命令:

/path/to/android-sdk/tools/bin/apkanalyzer manifest print /path/to/app.apk

你只需要将/path/to/ Android - SDK替换为你的Android SDK版本的正确路径,将/path/to/app.apk替换为你的APK文件的路径。


另一个有用的(基于python的)工具是Androguard,使用它的axml子命令:

androguard axml my.apk -o my.xml

这将一次性提取和解码应用程序清单。与apktool不同,它不解包其他任何东西。


另一种选择是使用Jadx: https://github.com/skylot/jadx

打开你的APK,在树视图中选择“AndroidManifest.xml”。 它就像这样可读。


所有这些答案似乎都有点过度设计了!

只需抓住这个chrome扩展:https://chrome.google.com/webstore/detail/apk-downloader/fgljidimohbcmjdabiecfeikkmpbjegm 使用上述扩展名从商店下载你想要的。apk文件。 将.apk上传到这个在线工具以获取manifest.xml: https://www.sisik.eu/apk-tool