mt管理器查询(MT管理器资源索引)

用两个例子来说明资源索引的过程和原理,下面 resources.arsc 统称 arsc 文件,classes.dex 统称 dex 文件。

应用名称

APK介绍中提到应用名称定义在 AndroidManifest.xml 文件中,其具体是在 application 标签的 label 属性中,但一般它的值只是一个资源 ID,而具体的值在 arsc 文件中。为什么这样设计呢?主要是为了多国语言支持。然后我们可以根据这个 ID 去 arsc 文件中查找它的具体值。

例如下图所示

mt管理器查询(MT管理器资源索引)(1)

在上图中,应用名称指定为 @7f0e0032,若在中文简体的系统,应用名称是 MT管理器,若在其它语言系统,应用名称是 MT Manager。

布局文件

在 dex 文件中,我们查看某个 Activity 的代码,一般它是通过 setContentView(ID) 来加载布局文件,我们同样可以用上面的办法通过这个 ID 拿到具体的值,不过我们通过这个 ID 在 arsc 文件中找到的值应该是像 res/layout/activity_main.xml 这样的路径,可以看出布局资源在 arsc 存储的只是文件路径,具体的内容我们还需要去 APK 中找到这个文件并打开。

mt管理器查询(MT管理器资源索引)(2)

除了布局文件,图片文件、菜单文件等也是同样的情况,均在 arsc 文件中存储资源文件路径。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页