Java 在Android中解码二进制Android xml资源

Java 在Android中解码二进制Android xml资源,java,android,decompiling,aapt,Java,Android,Decompiling,Aapt,我正在尝试制作一个可以反编译其他Android应用程序的Android应用程序。 我刚刚开始,但在尝试正确处理xml类型的资源(即存储在res/xml/下的资源)时遇到了困难 我面临的问题是这些文件包含二进制信息(据我所知,aapt在打包过程中将XML文件转换为二进制文件) 此外,我知道存在apktool或aapt本身的dump命令等工具。但是,这些都是基于PC的工具,而我需要在Android应用程序中解码XML资源。 那么,有没有办法在Android中实现这一点,或者我需要通过aapt代码并将

我正在尝试制作一个可以反编译其他Android应用程序的Android应用程序。 我刚刚开始,但在尝试正确处理xml类型的资源(即存储在res/xml/下的资源)时遇到了困难

我面临的问题是这些文件包含二进制信息(据我所知,aapt在打包过程中将XML文件转换为二进制文件)

此外,我知道存在apktool或aapt本身的dump命令等工具。但是,这些都是基于PC的工具,而我需要在Android应用程序中解码XML资源。

那么,有没有办法在Android中实现这一点,或者我需要通过aapt代码并将相关代码移植到Android中

编辑:我也尝试了,使用函数,返回一个,但由于xml文件的二进制性质,无法使其工作

编辑(2):基于单独的答案,我将其集成到我的代码中。它适用于大多数部分,除了某些XML文件(如framework-res.apk中的XML资源)外,XML属性的值被错误解码。例如,XML中的所有布尔值都报告为“false”,而实际XML中的某些属性也具有“true”值。所以,我想ApkParser有一些局限性

我在Github上发现了以下项目,它与我面临的问题有一些相同之处


请推荐其他替代方案。

有一个java库可以满足您的要求。 您可以尝试将其集成到应用程序中

此处:


或者,试着联系一下谁的混音器可以轻松地完成这项工作。

有一个java库可以满足您的要求。 您可以尝试将其集成到应用程序中

此处:


或者,试着联系一下谁的混音师,谁可以轻松地完成这项工作。

对于投票被否决的人,请说明这样做的原因。对于投票被否决的人,请说明这样做的原因