如何从APK文件中查看AndroidManifest.xml?

时间:2010-11-16 06:40:56

标签: android xml apk android-manifest aapt

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

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

如何查看Androidmanifest.xml文件?

15 个答案:

答案 0 :(得分:211)

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

  

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

如何在Windows系统上执行此操作:

  1. Download apktool-install-windows-* file
  2. Download apktool-* file
  3. 将两者都打包到Windows目录
  4. 现在也复制该目录中的APK文件并在命令提示符中运行以下命令:

    apktool d HelloWorld.apk ./HelloWorld
    

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

    此处HelloWorld.apk是您的Android APK文件。

    有关详细信息,请参阅以下屏幕截图: alt text

答案 1 :(得分:70)

Android Studio现在可以显示此内容。转到Build> Analyze APK...并选择你的apk。然后你可以看到AndroidManifset文件的内容。

答案 2 :(得分:43)

在这个thread中,Dianne Hackborn告诉我们,我们可以使用aapt来获取AndroidManifest的信息。

我掀起了这个快速的unix命令来获取版本信息:

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

答案 3 :(得分:38)

aapt d xmltree com.package.apk AndroidManifest.xml

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

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

答案 4 :(得分:29)

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

  

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

ClassyShark screenshot

答案 5 :(得分:12)

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

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

答案 6 :(得分:8)

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

答案 7 :(得分:7)

有一个在线工具可以让你上传一个APK它反编译它最后让你下载一个包含所有来源的zip,清单XML文件等反编译,所有这些都无需在你的计算机上安装任何程序: http://www.javadecompilers.com/apk

此外,如果您希望通过他们的UI

检查一些参数

答案 8 :(得分:4)

您可以使用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文件的路径。

答案 9 :(得分:2)

您还可以使用我的应用App Detective查看您在设备上安装的任何应用的清单文件。

答案 10 :(得分:2)

Android SDK构建工具中包含的Aapt2可以做到这一点-无需第三方工具。

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

答案 11 :(得分:1)

这是一个老线程,但我想我会提到,你的手机有root,你可以使用root explorer app直接在手机上查看。你甚至不必提取它来看。

答案 12 :(得分:1)

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

androguard axml my.apk -o my.xml

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

答案 13 :(得分:0)

该文件需要反编译(或者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]\

答案 14 :(得分:0)

使用axmldec解码AndroidManifest.xml文件:

axmldec -o output.xml AndroidManifest.xml

axmldec -o output.xml AndroidApp.apk