发布C语言的Android binary XML(AXML)解析代码

源码下载:

axml.tar.gz

AXML是用于Android设备的一种XML文件编码格式。现有的解析代码包括Java的(android4me)和Python的(androguard)。这两份代码是主要参考的对象,但他们都有一些冗余,看起来不舒服。

发布的C语言代码包含两部分:一个格式解析代码AxmlParser,提供易用的pull解析接口;一个从axml转换为明文xml的小工具AxmlPrinter,同时也是前者的使用示例。

目前已经支持Linux/gcc和Windows(Visual Studio)两个平台的编译和使用。

AXML格式的说明,等哪天有空再写吧。其实代码和注释已经包括了足够多的细节。

发布C语言的Android binary XML(AXML)解析代码》上有7条评论

  1. yinhao

    前辈,我的C代码现在总共也不到1万行,我现在在看你的AXML源代码,感觉好难,希望您能指点一下。

    回复
    1. Claud 文章作者

      Hi,我没有去了解过,但清楚axml的格式以后,我能大概猜到这个过程。这个肯定不是三言两语能说明白的,我建议你读一下编译工具链的源码,或者自己理解一下axml的格式。

      回复
  2. bat

    博主厉害,不过用你的库我解析了一个xml出现了问题,解析出的xml中有个属性值是乱码。如果博主现在还在维护这个代码的话请邮件联系我:detecyang@126.com

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>