繁体   English   中英

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

[英]How to view AndroidManifest.xml from APK file?

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

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

如何查看Androidmanifest.xml文件?

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

它是逆向工程 3rd 方、封闭、二进制 Android 应用程序的工具

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

  1. 下载 apktool-install-windows-* 文件
  2. 下载 apktool-* 文件
  3. 将两者解压到您的 Windows 目录

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

apktool d HelloWorld.apk ./HelloWorld

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

这里的HelloWorld.apk是您的 Android APK 文件。

有关更多信息,请参阅以下屏幕截图:替代文字

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

aapt d xmltree com.package.apk AndroidManifest.xml

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

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

Google 刚刚发布了一个跨平台的开源工具,用于检查 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

跑:

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

在这个帖子中,Dianne Hackborn 告诉我们我们可以使用 aapt 从 AndroidManifest 中获取信息。

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

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

您可以使用apkanalyzer ,这是与 Android SDK 捆绑在一起的APK 分析器的命令行版本。 只需在 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 文件的路径。

你可以使用这个命令: save to file AndroidManifest.txt

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

使用axmldec解码AndroidManifest.xml文件:

axmldec -o output.xml AndroidManifest.xml

或者

axmldec -o output.xml AndroidApp.apk

AXMLParserAPKParser.jar也可以完成这项工作,您可以查看链接。 AXML解析器

包含在 Android SDK 构建工具中的 Aapt2 可以执行此操作 - 无需第三方工具。

$(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

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

此外,如果您只想检查一些参数,您可以通过他们的用户界面

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

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

androguard axml my.apk -o my.xml

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

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

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

只需打开您的 APK 并在树视图中选择“AndroidManifest.xml”。 它会像那样可读。

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

  1. 只需抓住这个 chrome 扩展: https : //chrome.google.com/webstore/detail/apk-downloader/fgljidimohbcmjdabiecfeikkmpbjegm

  2. 使用上述扩展名从 Playstore 下载所需的.apk文件。

  3. .apk上传到此在线工具以获取manifest.xmlhttps : //www.sisik.eu/apk-tool

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM