ODEX是安卓上的应用程序apk中提取出来的可运行文件,是通过apk安装包的中的dex优化过的,再把apk包里的dex文件删除。
这样做可以加快软件的启动速度,预先提取,减少对RAM的占用,因为没有odex的话,系统要从apk包中提取dex再运行。
很多人都知道制作odex的原理,就是用dexopt-wrapper文件生成odex,但如果一个一个的生成的话太麻烦了,因此可以写几句简单的代码来批量生成,从而简化工作。
这里用到的事Android自带的shell脚本语言,省去了在电脑上生成再复制到手机上的麻烦。用Android上的shell就像windows上的bat一样方便。
好了,看一下代码:
#!/system/bin/sh
#
cd /sdcard/apk
for name in `ls` #获取APK文件名
do
odex=`echo $name | sed s/.apk/.odex/` #获取odex文件名。这里的sed是把.apk换成.odex。
dexopt-wrapper $name /system/app/$odex #制作odex文件,这句是核心。
cp /sdcard/apk/$name /system/app/$name #复制APK文件到系统目录
chmod 644 /system/app/$name #修改APK文件权限
chmod 644 /system/app/$odex #修改odex文件的权限
done
用的时候,现在sdcard上建立一个名为APK的文件夹,把要制作odex的.apk文件放在这个文件夹下。当然也可以修改代码,制作适合自己的。
复制把以上代码(由于windows与linux编码不一样,最好在手机上操作),存为一个后缀为.sh的文件中,把该文件放在手机内存上(不能放卡上)。
打开re文件管理器,然后设置为可读写,找到这个文件,点击运行就可以了。也可以用其他软件打开,如终端模拟器,但必须有高级权限。
此教程只适用于G8手机的2.3.7系统,如果没有dexopt-wrapper 文件的自己去论坛上下。