LouisLaw 发表于 2011-2-23 19:43

deodex(odex和apk合二为一)

由odex文件生成classes.dex

有时候,某些应用并不太常用,放在ROM里面占空间挺可惜的,不如把它变成一个单独的APK安装包,想用的时候再装来的更方便些。这种时候,就需要把优化成APK文件和Odex文件组成的程序重新合并起来。
需要用到的工具是smali,一个开源的java处理软件

http://code.google.com/p/smali/downloads/list

下载里面的baksmali和smali的jar文件到工作目录,把ROM里面的core.odex, ext.odex, framework.odex, android.policy.odex, services.odex这5个文件也放在同一目录(也可以放在别的目录,通过设置BOOTCLASSPATH指定,默认就是当前目录)。

我们以teeter为例子,ROM里面拿出来的可能是2个文件,teeter.apk + teeter.odex。
第一步,分解odex文件:
java -jar baksmali-1.2.1.jar -x teeter.odex
如果没其他问题,会在工作目录生成一个out的目录,里面是分解出来的一些文件,我们在此不深究这些文件的作用。

第二部,把分解得到的文件变成classes.dex:
java -Xmx512M -jar smali-1.2.1.jar out -o classes.dex
这样,我们就得到了一个有用的classes.dex文件,用WinZip或者WinRAR打开teeter.apk文件,把这个classes.dex放进去,最后再用signapk把最新得到的这个包含classes.dex的apk重新签署一下,就生成一个可以安装的单独APK程序了。

就这么简单。

转载自:http://zenz.ourcafe.mobi/archives/188

蓝星 发表于 2011-2-23 19:59

支持一个~~~~~

feng.Z.Z 发表于 2011-2-23 20:50

可惜,我第一步就出错了。。。。。。

feng.Z.Z 发表于 2011-2-24 16:56

可能对于MOTO的机子还要配置多一个东西

__画地为牢 发表于 2011-2-26 22:39

学习一个······

湘中王氏 发表于 2012-10-13 22:41

顶上去了!学生学习
页: [1]
查看完整版本: deodex(odex和apk合二为一)