[教程]浪子系列教程(二)apk与odex的合并与分解一、准备工作
1、JDK环境,(在教程一中有讲)
http://bbs.gfan.com/android-5752929-1-1.html2、deodex合并工具
http://pan.baidu.com/share/link?shareid=268969&uk=489995615二、开工
1〉apk与odex合并
1、在电脑硬盘任意位置新建任意文件夹。(文件夹路径不能有中文)
2、将deodex合并工具解压到新建的文件夹中。
3、将你的rom的system\app和framework两个文件夹全部复制到新建的文件夹。
4、双击运行“deodex”。(后缀:Windows批处理文件)
5、合并开始,一般20分钟左右完成。但是不是所有的附件都可以合并。
6、在deodexed-app和deodexed-framework文件夹就是你合并后的apk。
2〉odex文件的分解
从理论上讲,odex文件分解没有工具可用。因为每一个odex文件都必须适合于当前的系统。
但我们可以用自己的手机进行分解。
1、把已经deodex处理的123.apk修改权限为644放进system\app里,重启手机。(假设附件名称123.apk)
2、检查你要的apk软件是否被安装到应用程序里。
3、如果有,你的apk就已经分解出odex文件了,文件位置data\dalvik-cache
文件名[url=mailto:system@
app@123.apk@classes.dex]system@
app@123.apk@classes.dex[/url]
4、将[url=mailto:system@
app@123.apk@classes.dex]system@
app@123.apk@classes.dex[/url]文件复制出来并重命名为123.odex
5、用解压工具打开123.apk,删除里面的classes.dex文件,因为有odex时这个文件没用了,当然你也可以不删。不影响使用。
6、如果应用程序里没有你要的应用123,你的这个应用就不能分解。
三、要注意的是不是所有的附件要合并才好,也不是所有的附件都分解才好,这个要靠大家慢慢摸索。
呃……关于那个apk提取ODEX……
貌似LZ提到的那个目录是存放没有odex的apk程序的dex文件的目录(系统启动的时候,会先检查APK文件,然后如果这个APK旁边有odex,就直接用odex。如果没有,就把APK里面的dex解压到那个目录里面去)
不过貌似dex和odex还是不一样的。dex可以在不同系统间通用(APK里面带的就是dex)。而odex一般只能用在使用相同系统的手机里(因为odex针对不同手机进行了优化,所以牺牲了可移植性,获得了更高的效率,并且因为移植需要更多的步骤,所以顺便增加了一定的盗版行为的成本。从而达到有限的防侵权能力)
所以这个classes.dex即使改了名本质上还是dex,并不是odex。
而制作odex,貌似要用到一个叫dexopt-wrapper的程序(只能在Android下运行的,类似busybox、su的二进制程序),相传这个工具可以通过编译Android源码得到——在build/tools/dexpreopt/dexopt-wrapper里,如果版本不对应,可能生成的odex会不能运行)
然后把这个dexopt-wrapper传到手机里,并用adb shell或者终端模拟器运行。就会出现odex文件
blog.csdn.net/lanmanck/article/details/7527793
这里有运行dexopt-wrapper详细的命令格式……
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。