我们这边提到的 xml 并不是常见的文本格式的文件,而是在 APK 中的 xml 文件,它是二进制格式,如果你将它当成文本文件打开,那么将看到一堆乱码。

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

XML编辑 - 图1

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

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

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

XML编辑 - 图2

至于 xml 该怎么改,改什么,这边我没法直接告诉你。如果你了解安卓开发,自然就知道如何修改。

资源 ID 转名称 - VIP 功能

从上图中可以看到几个 @7FXXXXXX 之类的值,在前面的资源索引有做过部分介绍。但在开发过程中,这些值是以 @style/AppTheme、@string/app_name 这样的形式出现的,如果你更喜欢这样,那么你可以使用 ID 转名称功能。

XML编辑 - 图3

要使用 ID 转名称必须将一个 resources.arsc 文件和 xml 文件放在同一个目录下(如果是在 APK 中打开 xml 文件则不需要手动放置,MT 会自动把 xml 和 resources.arsc 一起解压),因为 MT 要通过查询 resources.arsc 文件才能把资源 ID 转成对应的名称。最后你还需要在编辑界面右上角的菜单中勾选开启该功能。

资源值智能编辑 - VIP 功能

该功能和资源 ID 转名称一样同样需要 resources.arsc 文件,开启方式看下图:

XML编辑 - 图4

注意光标要在双引号内,多选时也不能超出引号范围,否则看不到“编辑”菜单。

XML编辑 - 图5

考虑到手机屏幕小,不适合直接在编辑器做自动补全功能,所以放到了屏幕上方。

XML编辑 - 图6

点击查询按钮,可以查看当前输入的值的相关信息。

XML编辑 - 图7

当然这些信息你也可以手动在 resources.arsc 文件中查到。