我们这边提到的 xml 并不是常见的文本格式的文件,而是在 APK 中的 xml 文件,它是二进制格式,如果你将它当成文本文件打开,那么将看到一堆乱码。
当你使用 MT 打开一个 xml 文件时,它将会弹出打开方式菜单,你可以选择反编译或者字符常量池,字符常量池只能编辑 xml 中的字符串常量,这边不做过多说明,下面主要还是介绍反编译功能。
虽然 xml 是二进制格式,但在开发时,开发者编写的仍然是文本格式,例如我们熟悉的 AndroidManifest.xml 文件。在编译打包成 APK 时,文本格式 xml 文件会经过 aapt 的编译优化,成为二进制格式,最后被打包到 APK 中。
通过 MT 管理器的反编译,你可以将单个 xml 文件反编译成文本格式,并且 MT 还支持修改后将它编译回去。(反编译 xml 是一个半收费功能,免费版限制了反编译速度、源码行数,无 ID 转名称,无资源值智能编辑。)
下面是某个 AndroidManifest.xml 文件的反编译结果
至于 xml 该怎么改,改什么,这边我没法直接告诉你。如果你了解安卓开发,自然就知道如何修改。
资源 ID 转名称 - VIP 功能
从上图中可以看到几个 @7FXXXXXX 之类的值,在前面的资源索引有做过部分介绍。但在开发过程中,这些值是以 @style/AppTheme、@string/app_name 这样的形式出现的,如果你更喜欢这样,那么你可以使用 ID 转名称功能。
要使用 ID 转名称必须将一个 resources.arsc 文件和 xml 文件放在同一个目录下(如果是在 APK 中打开 xml 文件则不需要手动放置,MT 会自动把 xml 和 resources.arsc 一起解压),因为 MT 要通过查询 resources.arsc 文件才能把资源 ID 转成对应的名称。最后你还需要在编辑界面右上角的菜单中勾选开启该功能。
资源值智能编辑 - VIP 功能
该功能和资源 ID 转名称一样同样需要 resources.arsc 文件,开启方式看下图:
注意光标要在双引号内,多选时也不能超出引号范围,否则看不到“编辑”菜单。
考虑到手机屏幕小,不适合直接在编辑器做自动补全功能,所以放到了屏幕上方。
点击查询按钮,可以查看当前输入的值的相关信息。
当然这些信息你也可以手动在 resources.arsc 文件中查到。