`

Android odex和dex疑惑

阅读更多

细心的网友可能发现Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? Android123提示大家,如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无法正常导出使用。
  很多网友可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装在/data/中,而rom存放时在/system/bin中,所以最终导致了用户可装在Android手机中的软件会变少,占用系统空间。
  一、APK生成odex文件方法:
  编译开源GIT上的build/tools/dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤
  将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux命令行,使用cd命令进入/data/local目录,
  cd /data/local
  ./dexopt-wrapper android123.apk android123.odex
二、合并odex和 少dex的apk 为完整的apk文件
   1. 下载 http://smali.googlecode.com/files/smali-1.2.2.jar 和 http://smali.googlecode.com/files/baksmali-1.2.2.jar,既然是需要**,还需要odex所在rom中的一些引用类,一般在 /system/framework 目录中
   2 .  通过odex生成class文件
          java -jar baksmali-1.2.2.jar -x android123.odex
         执行完上面这行命令后,会生成一个out 文件夹里面是android123.odex的class文件。出现问题,根据提示可以从rom的 /system/framework 中的xxx.jar放到pc上的java环境变量中一起生成。
  3. 通过class生成classes.dex 文件。
        java -Xmx512M -jar smali-1.2.2.jar out -o classes.dex
  4. 将classes.dex放到apk文件
        因为apk是zip的mime编码类型,使用winzip或winrar直接拖入到apk改名为zip的压缩包中即可。
  5. 不要忘记了签名,使用jdk中的arsigner和keytool打包重新签名即可。
分享到:
评论

相关推荐

    odex2dex合并odex和 少dex的apk 为完整的apk文件

    odex和apk合成dex 一、APK生成odex文件方法: 编译开源GIT上的build/tools/dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤 将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux...

    android8.0 odex2dex.rar

    `android8.0 odex2dex.txt`很可能是详细说明如何使用`oat2dex.jar`来执行这个转换过程的文档,包括命令行参数和步骤。 转换过程可能如下: 1. 首先,你需要获取到Odex文件和相应的Vdex文件。Vdex文件通常位于 `/...

    一键odex2dex工具包

    一键odex2dex的工具包,若要反编译你自己的odex文件,需要你自己rom包下的system/framework下的所有文件复制到本工具包的framework目录下,并将你自己的odex文件替换成工具包里的123.odex文件

    android 反编译 逆向 vdex2dex odex2dex

    "android 反编译 逆向 vdex2dex odex2dex"这个主题涉及到的是如何通过特定工具和技术来查看和理解Android应用程序的内部工作原理。在本文中,我们将深入探讨这些概念,以及它们在Android应用逆向工程中的应用。 ...

    ODEX文件转换成DEX文件工具

    二、合并odex和 少dex的apk 为完整的apk文件 1. 需要odex所在rom中的一些引用类,一般在 /system/framework 目录中 2 . 通过odex生成class文件 java -jar baksmali-1.2.6.jar -x android123.odex 执行完上面...

    odex转dex 工具 保证可用

    在Android系统中,`.odex`(Optimized Dalvik Executable)文件是Dalvik虚拟机执行的优化后的字节码,而`.dex`(Dalvik Executable)文件则是未优化的字节码,通常用于APK安装包。`.odex`文件体积更小,运行速度更快...

    odextools 合并odex和少dex的apk为完整的apk文件

    我的操作系统是 WIN10 LTSB 2016的,要合并的 odex 和 Apk来自 Android TV,能找的到的工具,没有一个能够成功合并的。于是,我把找到的工具 odextools 作了修改。感谢”一键odex批量合并工具odextools“、oat2dex ...

    【Android 热修复】热修复原理 ( 修复包 Dex 文件准备 Dex 优化为 Odex Dex 文件拷贝 ).zip

    【Android 热修复】热修复原理 ( 修复包 Dex 文件准备 | Dex 优化为 Odex | Dex 文件拷贝 | 源码资源 ) https://hanshuliang.blog.csdn.net/article/details/115639313 源码快照

    最新smali baksmali odex/dex/oat 转换工具,带使用说明。最新参数格式保证可以用

    【dex转smali文件】 framework.dex为要转换的文件 , out为输出目录 运行命令:java.exe -jar ...将boot.oat解包多个dex文件 ,生成到 dex 和 odex 在当前目录下。 运行命令:java.exe -jar oat2dex.jar boot boot.oat

    dex和odex文件格式详解资料

    总结来说,dex和odex文件格式是Android系统中的关键组成部分,它们决定了应用的执行效率和资源占用。理解这两种格式对于Android开发者来说至关重要,能够帮助他们优化应用性能,提升用户体验。随着Android系统的发展...

    Android 5.0 odex合并apk

    在Android系统中,Odex(Optimized Dalvik Executable)文件是Dalvik虚拟机执行的优化过的字节码,它将DEX(Dalvik Executable)文件预先编译为机器码,以便提高应用的启动速度和运行效率。Android 5.0(Lollipop)...

    android手机端odex化

    在Android系统中,"odex"(Optimized Dalvik Executable)是Dalvik虚拟机执行的优化过的字节码文件,它将Dalvik字节码(.dex)进行了预编译,以提高应用程序的启动速度和运行效率。"android手机端odex化"指的是将...

    odex和apk 合并

    要先安装JAVA,将要合并程序所在手机里的system/framework/下的 odex文件全部复制到本软件的"make"文件夹下(一般需要5,6个吧,像HTC的比较多一点,全部复制出来方便点),将要合并程序的apk文件和odex文件一起放入...

    Android中dump出dex文件

    1. **什么是.dex文件**:.dex文件是Android应用的主要组成部分,它包含了类、方法和字段的定义,以及相应的字节码。这些文件由Java源代码通过Java编译器和Dex工具转换而来。 2. **Android调试桥(ADB)**:Android ...

    关于android中odex与apk 的合并

    在Android系统中,Odex(Optimized Dalvik Executable)文件和Apk(Application Package)文件是两个关键组件,它们共同构成了Android应用的基础。本文将深入探讨这两个概念,以及如何在Android开发过程中进行Odex与...

    一键整合odex

    在Android系统中,Odex(Optimized Dalvik Executable)是Dalvik虚拟机的一种优化格式,它是Dalvik字节码的编译版本,用于提高应用程序的加载速度和运行效率。通常,Android应用的源代码会被编译成Dalvik Executable...

    odex反编译及回编译教程

    在Android开发中,`odex`文件是Dalvik虚拟机执行的优化过的字节码,它包含了应用程序的类和方法。本教程将详细介绍如何对`odex`文件进行反编译和回编译,以便分析和修改Android应用的源代码。 **反编译流程** 1. *...

    Apk脱壳工具合集AutoOdex2Dex,DexExtractor,drizzleDumper,java2small.rar

    在Android应用开发中,APK文件是应用程序的打包格式,其中包含了代码(Dalvik Executable, 或DEX文件)、资源和元数据。为了保护代码安全,开发者可能会对APK进行加密或者混淆,这使得分析和逆向工程变得困难。在...

    Android安卓 系统ODEX优化代码

    Android系统中运行的程序包主要分framework,system/app,data/app,三个路径,开机的时候启动内核后,就会逐个启动framework里的jar框架程序,再启动system/app的开机自启程序。 如果你想把整个ROM都odex化,就必须先...

    oat2dexes:从 Android ART .oat.odex 文件中提取 .dex 文件

    从 Android ART .oat/.odex 文件中提取 .dex 文件 这个怎么运作? DEX 文件嵌入在 Android ART .oat/.odex 文件中。 oat2dexes寻找 DEX 魔法“dex\n035\0”。 如何使用? $ file file.odex file.odex: ELF 32-bit...

Global site tag (gtag.js) - Google Analytics