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