20

是否可以从 apk 文件中获取有关软件包或应用程序的任何信息,而无需将其安装在 Android 环境中?

4

4 回答 4

99
$ aapt dump badging <path-to-apk>
于 2012-09-27T12:29:08.913 回答
23

从PackageManager类中查看此方法:

public PackageInfo getPackageArchiveInfo(String archiveFilePath, int flags)

检索有关包存档文件中定义的应用程序包的整体信息

可能对你有帮助;)

于 2011-07-27T07:42:15.967 回答
8

apk 文件实际上只是一个名称不同的 zip 存档。将 x.apk 重命名为 x.zip,其中 x 是文件名,您可以使用任何 zip 工具打开它。这实际上取决于您是否可以在apk文件中找到它的信息。我可以说您可以访问 AndroidManifest.xml 文件,其中有关应用程序访问权限等的关键信息以相当易读的形式存储,前提是您知道要查找的内容。你想找到什么?如果您正在寻找自述文件或其他内容,那么您几乎肯定不会在其中找到它。

于 2010-12-17T12:07:13.100 回答
2

从二进制形式解压缩和转换 AndroidManifest.xml 不是最好的方法(恕我直言)

你表现得好像你有一个选择。如果你只有 APK,你不会。如果您只有 APK 文件,唯一的解决方案是基于 Sam 指出的内容。

当然,您可以在 APK 旁边的单独文件中发布元数据,无论您从何处获取 APK(例如,Web 服务器)。

于 2010-12-17T12:24:26.530 回答