# Xml 编辑

我们这边提到的 xml 并不是常见的文本格式的文件,而是在 APK 中的 xml 文件,它是二进制格式,直接打开会看到一堆乱码。

当你使用 MT 打开一个 xml 文件时,它将会弹出打开方式菜单,你可以选择反编译或者字符常量池,字符常量池只能编辑 xml 中的字符串常量,这边不做过多说明,下面主要还是介绍反编译功能。

alt

虽然 xml 是二进制格式,但在开发时,开发者编写的仍然是文本格式,例如我们熟悉的 AndroidManifest.xml 文件。在编译打包成 APK 时,文本格式 xml 文件会经过 aapt 的编译优化,成为二进制格式,最后被打包到 APK 中。

通过 MT 管理器的反编译,你可以将单个 xml 文件反编译成文本格式,并且支持修改后将它编译回去。(反编译 xml 是一个半收费功能,免费版限制了反编译速度、源码行数,无 ID 转名称,无自动补全)

下面是某个 AndroidManifest.xml 文件的反编译结果:

alt

# 资源 ID 转名称(VIP 功能)

从上图中可以看到几个 @7FXXXXXX 之类的值,在前面的资源索引有做过部分介绍。但在开发过程中,这些值是以 @style/AppTheme、@string/app_name 这样的形式出现的。

如果你更喜欢这样,那么可以开启 ID 转名称,就可以得到如下的代码:

alt

开启 ID 转名称的前提是必须将一个 resources.arsc 文件和 xml 文件放在同一个目录下,因为 MT 要通过查询 arsc 文件才能把资源 ID 转成对应的名称。

如果是在 APK 中打开 xml 文件则不需要手动放置 arsc 文件,MT 会自动把 xml 和 resources.arsc 一起解压。

你只需要在右上角的菜单中勾选即可开启该功能。

alt

# 自动补全(VIP 功能)

自动补全功能可以帮助你更快速地编辑代码:

alt

对于多个选项组合的值,也可以做到快速编辑:

alt