`

APK生成odex,合并odex和apk 为完整的apk文件

 
阅读更多
Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? 如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反**,因为没有没有dex文件的apk是无**常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无**常导出使用

可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装在/data/中,而rom存放在 /system/app中,所以最终导致了用户可装在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 中的**.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打包重新签名即可。
有时候发现别人手机里有一款 apk 挺好,想弄出来装自己手机上,可是却发现那个 apk 是残缺的,里面没有 classes.dex 文件,却有个跟 apk 同名的 odex 文件。残缺的 apk 是装不了的,只能把这个 apk 跟 odex 合并成一个完整的 apk 才能安装。 需要的工具:
1 . smali-1.2.2.jar 和 baksmali-1.2.2.jar
2 . 还需要这个 apk 所在的 rom 里面的一些 jar 文件,都在 /system/framework 里面: core.jar, ext. jar, framework. jar, android.policy. jar, services. Jar 。
当然,这五个是最基本的,有可能还不够,这种情况下面会讲到。
总共分四步:
1 . 把下载好的 smali-1.2.2.jar 和 baksmali-1.2.2.jar ,还有 rom 里面抠出来的 5 个 jar ,放到工作目录,然后 apk 和 odex 也放到一起。
2 . 分解 odex 文件为 class 文件。 命令: java -jar baksmali-1.2.2.jar -x 处是你要分解的 odex 文件的名字,命令完成之后,会生成一个 out 文件夹,里面就是所有的 class 文件。如果出现问题,比如什么异常,缺少包什么的,就更到 rom 里面把出错信息里面要求的包拿出来,放到当前目录下。
3. 将 class 生成为 classes.dex 文件。 命令: java -Xmx512M -jar smali-1.2.2.jar out -o classes.dex 这一步应该不会有什么问题,然后会生成 classes.dex 文件。
4. 把 classes.dex 放入 apk 里面,把盖子盖上。 最后这一步最简单了,用解压缩软件打开 apk ,然后把千辛万苦生成的 classes.dex 塞进去,就 ok 了。这个 apk 就能用了。如果想给他重新签个名的话,去找个 Auto Sign 签名工具签署一下就行。
分享到:
评论

相关推荐

    apk和odex合并

    用于android系统下apk和odex合并的教程

    apk和odex合并工具

    apk和odex合并工具,使用说明在压缩包内

    apk和odex的合并工具

    可用于将从官方rom中提取出来的.apk和.odex合并。 用法:1、java -jar baksmali.jar -x .odex 。将odex类文件输出到out目录下。2、java -Xmx512M -jar smali.jar out -o classes.dex 。将out目录重新编译成classes....

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

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

    odex和apk 合并

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

    如何合并apk和odex文件

    如何合并apk和odex文件如何合并apk和odex文件

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

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

    合并apk和odex文件的工具和签名工具

    android的最新工具,包括合并apk和odex文件的工具,还有签名工具。

    apk和odex的合并教程

    NULL 博文链接:https://hellorheaven.iteye.com/blog/1212724

    apk分离odex

    apk分离odex

    odex合并apk工具

    odex合并apk工具 肯定好用 不要分 本人已经亲自验过

    APK_ODEX优化

    APK_ODEX优化

    ODEX文件转换成DEX文件工具

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

    OdexTools(Apk应用Odex分解、合并工具

    OdexTools(Apk应用Odex分解、合并工具

    安卓工具用来合成apk和odex

    安卓用合成apk和odex工具包,安卓手机专用,系统文件等等都可以使用

    全自动制作odex

    为apk安装包生成odex文件 使用前请先装好java环境,本程序需要java环境支持。 请打开手机的调试,并连接好电脑。 把要生成odex的apk程序放在apk目录下,apk程序名不能有空格、中文。 打开"自动生成odex",即自动...

    odex合并与拆分工具.rar

    用于合并*.apk 和 *.odex文件

    一键合并odex

    ODEX是安卓上的应用程序apk中提取出来的可运行文件,即将APK中的classes.dex文件通过dex优化过程将其优化生成一个·dex文件单独存放,原APK中的classes.dex文件会保留的。 中文名 ODEX 类型 可运行文件 说明 安卓上...

Global site tag (gtag.js) - Google Analytics