手机系统之家 - 中文手机系统第一门户 设为首页|加入收藏
当前位置:首页 > ROM开发 >
APK与ODEX的合并
     很多网友可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装在/data/中,而rom存放时在 /system/bin中,所以最终导致了用户可装在Android手机中的软件会变少,占用系统空间。合并odex和少dex的apk 为完整的apk文件需要用到的工具是smali,一个开源的java处理软件: http://code.google.com/p/smali/downloads/list  

     1.下载的baksmali和 smali的jar文件到工作目录

     2.把ROM里面的core.odex, ext.odex, framework.odex, android.policy.odex, services.odex这5个文件也放在同一目录(也可以放在别的目录,通过设置BOOTCLASSPATH指定,默认就是当前目录)。
例:以teeter为例子 (HTC一些Android常常会内置),ROM里面拿出来的可能是2个文件,teeter.apk + teeter.odex。

    1、分解odex文件:
java -jar baksmali-1.2.1.jar -x teeter.odex
如果没其他问题,会在工作目录生成一个out的目录,里面是分解出来的一些文件,我们在此不深究这些文件的作用。

     2、把分解得到的文件变成classes.dex:java -Xmx512M -jar smali-1.2.1.jar out -o classes.dex,这样得到了一个有用的classes.dex文件

     3、用WinZip或者WinRAR打开teeter.apk文件,把这个classes.dex 放进去

     4、最后再用signapk把最新得到的这个包含classes.dex的apk重新签署一下 (Auto Sign签名工具往期的文章里有下载),就生成一个可以安装的单独APK程序了。

     5、签名完成后即可安装使用了也可以是使用厨房工具进行合并:1.首先打开厨房界面 2.选择0进行高级选项 3.选择11对工作目录中的deodex进行合并 4.我们选择b,对所有文件进行合并。然后就会出现合并过程界面了 


手机系统之家,海量精品ROM下载,中文手机系统第一门户.
Copyright © LongMeiChina 2016 ROMS All RightsReserved.手机系统之家 版权所有 鄂ICP备13015020号-3
|