一个 Android 应用的绝大部分资源配置,例如字符串、主题、图片文件索引、布局文件索引等信息,都保存在 arsc 文件中。当你使用 MT 打开一个 arsc 文件时,它将会弹出打开方式菜单,你可以选择 Arsc 编辑器翻译模式资源查询

ARSC编辑 - 图1

Arsc 编辑器功能可以对 arsc 文件中的任意内容进行添加、删除、修改,本章内容会进行详细说明。

翻译模式将会在后面统一进行介绍。

资源查询功能和 Xml资源值智能编辑基本差不多,不过单独提取了出来,以悬浮窗的方式,可以随时在任何地方查询资源,该功能同样需要 VIP。

Arsc 层次结构

在介绍 Arsc 编辑器功能之前,要先了解一下 arsc 的结构,从外层到内层依次是:

  • 包(Package)
  • 类型(Type)
  • 配置(Config)
  • 条目(Entry)
  • 值(Value)

包(Package)

一般一个 arsc 文件只有一个包,进入 Arsc 编辑器后,在 ID 搜索资源下面的项就是该文件的包。

ARSC编辑 - 图2

类型(Type)

进入包之后,看到的列表就是类型,其中最左边是包 ID + 类型 ID ,例如 7F01,紧接着的是类型名称,例如 attr、string、style 等。

ARSC编辑 - 图3

至于各个类型分别代表什么意思,其实只要你做过 Android 开发,就会发现它和你在 res 目录中定义的资源基本一致。例如 strings.xml 中的字符串数据都可以在 string 类型里面找到,在 drawable 中放置的图片也可以在 drawable 类型里面找到,不过 drawable 类型里面存储的是图片的路径。

配置(Config)

进入类型之后,看到的列表就是配置。

ARSC编辑 - 图4

所谓配置,就是一个资源在不同环境下对应不同的数据,例如你在 string 类型中就可能看 string、string-zh-rCN 等配置,不带后缀表示默认配置,-zh-rCN 后缀表示简体中文,所以 string-zh-rCN 中的资源会在简体中文环境下使用。

同个类型下的配置,它们的条目数量不一定完全一致。在上面例子中,当应用要使用一个 string 资源时,会先给定一个资源 ID,系统会根据这个 ID 优先在 -zh-rCN 配置中寻找,如果找不到,那么系统就会去默认配置中寻找,如果都找不到呢?那肯定就会报错了。

更多资料请查看官方文档

条目(Entry)

进入配置之后,看到的列表就是条目,其中最左边是条目 ID ,例如 0000,紧接着的是资源名称,还可能显示资源值。

补充:一个完整的资源 ID 就是包 ID + 类型 ID + 条目 ID ,例如 7F010000。

ARSC编辑 - 图5

值(Value)

上图中,你点击任意条目后是不会进入值列表的,而是直接编辑它的值。

ARSC编辑 - 图6

只有那些存在零或多个值的复杂(Complex)条目,点击后会进入值列表。一般在 attr、style、array、plurals 类型中的都是复杂条目,而其它类型中的基本都是简单条目。

你可以返回后进入一个 style 类型的配置,点击里面的任意条目,就可以进入它的值列表了。

ARSC编辑 - 图7

添加配置

添加配置的方式有两种:

  • 第一种是长按已有的配置,在弹出菜单种点击复制,然后输入新的配置名,新添加的配置会自动把被复制的配置的所有条目全部复制过去。
  • 第二种是在配置列表中,点击右上角菜单中的添加,然后输入新的配置名,完成后会增加一个没有任何条目的新配置。例如当你为一个应用添加简体中文语言包时,你可以长按复制 string 类型的默认配置,输入 -zh-rCN 然后保存,此时该配置下的文字还不是中文的,然后你还需要使用 Arsc 翻译模式把 -zh-rCN 下的文字翻译成中文。

添加条目

在条目列表中,点击右上角菜单中的添加,然后 MT 会自动从其它配置中查找那些条目是当前配置还没有的,并显示出来。

ARSC编辑 - 图8

选择相应的配置,然后就可以直接导入其中的条目了。或者你也可以手动新建条目,当其它配置中没有可导入的条目时,也会直接显示新建界面。

ARSC编辑 - 图9


其它的操作很简单,这里不多做说明,只需要点击、长按、右上角菜单,你就能发现各个功能。