我很想知道odex文件和dex文件之间的区别。我在网上搜索但没有找到足够的信息。这是我的问题
谢谢, 马南
答案 0 :(得分:2)
不确定如何重新创建odex文件,但这是一个描述。
http://www.addictivetips.com/mobile/what-is-odex-and-deodex-in-android-complete-guide/
答案 1 :(得分:1)
答案 2 :(得分:1)
这是我对问题二的回答:
如何为我的应用程序创建odex文件?
" classes.dex"文件自动优化为odex文件。如果" xxx.apk"商店在/data/app/xxx/xxx.apk
,然后是" xxx.odex"将存储在/data/app/xxx/oat/arm/xxx.odex
。
我在Android 6.0上测试过。
答案 3 :(得分:-1)
Android操作系统创建了ODEX 文件,以提高Android应用程序(.APK文件)的启动速度。它位于APK文件旁边,并包含优化的代码,可加快应用程序的加载过程。 ODEX文件是 .DEX文件的优化版本,其中包含Android应用的可执行代码。虽然 DEX文件通常在所有Android设备上运行,但 ODEX文件已针对它们所在的特定设备进行了优化。它们不仅有助于提高加载速度,还减少了应用程序所需的空间量。
所以,让我告诉您如何对odex文件进行除氧化
下载deodex工具https://kotlinlang.org/docs/reference/java-interop.html
1。将下载的.7z文件提取到您的计算机中。
2。打开文件夹,按住shift键,单击鼠标右键,然后在此处选择“打开命令窗口”。这将打开命令提示符窗口。
3。将两个文件都移到该文件夹中,然后键入“ 7za x * .odex.xz”,然后按Enter。这将解压缩.xz文件。结果将是一个odex文件。
4。现在键入“ oat2dex.bat * .odex,然后按Enter。这样,您将确认DEX文件OAT文件头存在。如果您在此过程中收到错误消息,则该应用将不会转换。
5。键入“ oat2dex.bat * .odex temp.dex”。然后按Enter。这将创建一个.temp.dex。该文件是具有旧结构的odex文件。
6。输入“ java -jar baksmali-2.0.3.jar -a 21 -x temp.dex -o deodex”,然后按Enter。这将反编译该文件,并创建一个deodex文件夹输出。
7。现在键入“ java -jar smali-2.0.3,jar -a 21 deodex -o classes.dex”重新编译输出。
8。现在,要将classes.dex放入APK文件中,请使用命令7za u -tzip * .apk classes.dex。