mt管理器错误信息java_DEX编辑
⼀个 Android 应⽤的绝⼤部分代码(使⽤ Java 编写)都会编译到 dex ⽂件中。当你使⽤ MT 打开⼀个 dex ⽂件时,它将会弹出打开⽅式菜单,你可以选择Dex 编辑器、Dex 编辑器++、Dex 修复、翻译模式。
Dex 编辑器和 Dex 编辑器++ 均可以修改 dex ⽂件内的代码,两者均使⽤了开源项⽬ JesusFreke/smali 来实现,但 Dex 编辑器⽤的是dexlib,已经在多年前停⽌了维护更新,⽽ Dex 编辑器++ 使⽤的是最新版的 dexlib2,和 smali 项⽬保持同步。
当你遇到某个 dex ⽂件⽆法正常打开时,你可以尝试使⽤ Dex 修复功能。注意必须把 dex ⽂件解压后才能使⽤该功能,不能在压缩包内进⾏修复。使⽤该功能需要开通 VIP。
翻译模式将会在后⾯统⼀进⾏介绍。
开发 Dex 编辑器++ 的⽬的就是为了取代 Dex 编辑器,虽然由于历史原因仍然在新版本中保留了后者,但还是推荐⼤家使⽤ Dex 编辑器++。
打开⼀个 dex ⽂件,选择 Dex 编辑器++,进⼊后可以看到浏览、最近、搜索三个标签页。
浏览界⾯采⽤树形⽅式进⾏包名和类的浏览
最近界⾯记录最近打开的⽂件和被修改过的⽂件
搜索界⾯可进⾏搜索以及显⽰搜索结果你可以把看到的类都当成⼀个个 smali ⽂件,点击进去之后看到的也是这个类对应的 Smali 代码。
如果你开通了 VIP,你还可以在菜单中选择将 Smali 转成 Java 代码,并且 MT 提供了多个 Java 反编译引擎,当你发现 Java 中某个⽅法反编译失败时,可以尝试切换反编译引擎。
注意反编译出来的 Java 代码只是⽤作参考,⽆法修改。要修改的话只能去修改 Smali 代码,然后再重新反编译成 Java 代码,对照查看修改是否正确。
做完修改后,你就可以回到编辑器主界⾯,点击菜单中的编译,⽣成新的 dex ⽂件。
DEX ⼯程
在 Dex 编辑器++ 中,MT 引⼊了⼯程这个概念。如果你是使⽤ Dex 编辑器,每当你修改完退出时,要么选择不保存,要么选择编译成新的 dex ⽂件,但不论如何,你添加的注释、哪些是新加的类、哪些类被修改了,这些记录都会丢失。
但是我们在修改 dex ⽂件时,⼀般不是⼀遍就能修改完的,需要多次修改和测试,保留上⾯所说的这些记录就⼗分有⽤,⽽现在,Dex 编辑器++ 都能做到这些。
创建⼯程
⾸先你要使⽤ Dex 编辑器++ 打开⼀个 dex ⽂件时,此时MT⾃动为我们创建了⼀个临时Dex⼯程。临时⼯程在退出后是会被删除的,所以你需要点击左上⾓的菜单,选择保存为⼯程。
保存完之后,当你在 Dex 编辑器++ 的主界⾯时,都可以放⼼地退出,不⽤担⼼丢失任何数据,更不⽤每次退出前还需要⼿动保存。
打开⼯程
在MT 主界⾯打开侧拉栏,就可以看到你保存的所有⼯程了。
点击就可以打开该⼯程并进⼊ Dex 编辑器++。注意,⼀定要从侧拉栏中打开⼯程,⽽不是打开之前的
dex ⽂件,直接打开 dex ⽂件是创建临时⼯程。
编译 Dex
java怎么编写
修改完成之后,在 Dex 编辑器++ 的主界⾯,点击菜单中的编译即可⽣成新的 dex ⽂件。
如果你是在临时⼯程中编译,那么编译后会替换掉原来的 dex ⽂件。
如果你是在正式⼯程中编译,那么编译后的 dex ⽂件会放在⼯程⽬录下,你需要⼿动把 dex 替换到 apk 中。
⼯程⽬录
所有⼯程均放在 内部存储/MT2/projects ⽂件夹中,不能移动。
侧拉栏中长按⼯程即可快速进⼊⼯程⽬录。
进⼊⼯程⽬录后可以看到 data 和 smali 两个⽂件夹。(2.5.0 版本开始⽀持多dex编辑,新增了 config、build 和 _dex ⽂件夹)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。