合并apk和odex我们需要先建立java环境,直接百度JDK下载安装即可,需要用到的工具是smali,这是一个开源软件,同样可以直接百度下载即可。
操作步骤如下:
把下载的baksmali-1.2.4.jar和smali-1.2.4.jar这两个文件与ROM里面system\framework目录下的文件一起放在一个文件夹里。
把ROM里面的core.odex, ext.odex, framework.odex, android.policy.odex, services.odex这5个文件也放在此目录。
分解odex文件:运行CMD,我们以aaa.apk和aaa.odex为例,在CMD中输入java -jar baksmali-1.2.4.jar -x aaa.odex,然后会在工作目录生成一个out的目录,里面是分解出来的一些文件。
把分解得到的文件变成classes.dex:在CMD中输入java -Xmx512M -jar smali-1.2.4.jar out -o classes.dex,(注意其中的大小写,java代码严格区分大小写)。我们得到了一个有用的classes.dex文件,用WinZip或者WinRAR打开aaa.apk,把这个classes.dex放进去。
最后再用signapk把最新得到的这个包含classes.dex的apk重新签名一下 (可以使用Auto Sign签名工具,百度下载即可),就生成一个可以安装的单独APK程序了。