2012-03-01 49 views
0

为了个人目的,我想解析Android Manifest文件中的注释。在这些评论中,可能会有我想要提取的具有属性和值的标签。它与HTML文件中的标签类似,通常会对其进行评论,因为某些浏览器不支持此标签。所以我想在android清单中实现类似的东西。在Android中解析XML中的注释

我知道在Android清单文件中使用SAXParser进行解析。此外,我认为我应该使用LexicalHandler来达到这个目的,但是我从来没有面对过这个功能,我想知道如何做到这一点。代码片段和任何帮助将不胜感激!

+0

这就是我所害怕的。我在想这个,但我不确定。非常感谢你! – Yury 2012-03-08 18:03:35

回答

0

我完全相信你无法解析原始XML清单,因为像res文件夹中的所有内容(res/raw除外)都是以二进制格式编译和存储清单,因此删除了注释。

也许你可以玩xmlns并捕获清单解析......但我怀疑它,Manifest是由包管理器解释的,我认为你不能访问它。

溶液(来自您的反馈):
请求的功能是不可能的,因为在编译期间从AndroidManifest文件中的所有评论将被删除。

您可以通过以下方式检查:

  1. 创建一个简单的应用程序项目(的Hello World),并且在AndroidManifest文件添加注释。
  2. 编译项目并导出.apk文件(有符号或无符号)。
  3. 使用类似apktool或类似的工具提取你的apk文件。
  4. 检查AndroidManifest.xml中的结果 - 没有评论。

您应该尝试寻找其他方法。

0

我不认为这是可能的,因为AndroidManifest不可用作类路径资源。我能想到的唯一方法就是将AndroidManifest.xml复制到您的源文件中,并使用蚂蚁目标将其构建为编译对象

然后,您只需像访问正常XML文件一样使用XML API。

+0

我正在研究框架层,因此我可以解析AndroidManifest。唯一的问题,我不知道如何做到这一点。我认为它可以被认为是一个简单的XML文件,但我需要知道如何从评论中提取标签及其属性。此外,在Manifest文件中可以有几个注释,这就是为什么我需要标签。 – Yury 2012-03-03 19:35:25

+0

理解,但在运行时XML文件不在类路径中(除非通过复制使其存在) – 2012-03-05 02:46:19

+0

这是什么意思?想象一下你有一个Package Installer。它解析AndroidManifest文件并向用户表示信息。所以在这个层面上,我想我可以解析这个XML文件。或者,也许我不明白的东西,因为实际上我从来没有面对XML解析。 – Yury 2012-03-05 09:25:01

0

我讨厌成为那个人,但是您应该在/ assets /中维护您的自定义XML,而不是重载manifest.xml文件。