odex相关知识
Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? 如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的 apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无法正常导出使用
可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装在/data/中,而rom存放在 /system/app中,所以最终导致了用户可装在Android手机中的软件会变少,占用系统空间。
一、APK生成odex文件方法:
编译开源GIT上的build/tools/dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤
将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux命令行,使用cd命令进入/data/local目录,
cd /data/local
./dexopt-wrapper android123.apk android123.odex
二、合并odex和 少dex的apk 为完整的apk文件
1. 下载 http://smali.googlecode.com/files/smali-1.2.2.jar 和 http://smali.googlecode.com/files/baksmali-1.2.2.jar,既然是需要盗版,还需要odex所在rom中的一些引用类,一般在 /system/framework 目录中
2 . 通过odex生成class文件
java -jar baksmali-1.2.2.jar -x android123.odex
执行完上面这行命令后,会生成一个out 文件夹里面是android123.odex的class文件。出现问题,根据提示可以从rom的 /system/framework 中的**.jar放到pc上的java环境变量中一起生成。
3. 通过class生成classes.dex 文件。
java -Xmx512M -jar smali-1.2.2.jar out -o classes.dex
4. 将classes.dex放到apk文件
因为apk是zip的mime编码类型,使用winzip或winrar直接拖入到apk改名为zip的压缩包中即可。
5. 不要忘记了签名,使用jdk中的arsigner和keytool打包重新签名即可。
分享到:
相关推荐
通过odex生成class文件 java -jar baksmali-1.2.6.jar -x android123.odex 执行完上面这行命令后,会生成一个out 文件夹里面是android123.odex的class文件。主意,最好把odex文件放到framework目录下执行上面的...
部分手机厂商为防止自己程序,被移植到其他手机上,将classes.dex与APK文件分离,转化成一个odex文件,这样想要用分离后的程序,就要连着framework下的文件一起复制到别的手机上,这样就会无法开机 将odex 文件转成...
通过odex生成class文件 java -jar baksmali-1.2.6.jar -x android123.odex 执行完上面这行命令后,会生成一个out 文件夹里面是android123.odex的class文件。主意,最好把odex文件放到framework目录下执行上面的...
所谓Odex,是由android软件中的classes.dex生成的,Odex化即是把那个文件预先提取出来作用是能加快软件加载速度和开机速度。不过Odex也有缺点,那就是有时候加刷东西会出现问题。 简单说,原本系统恢复出厂设置后第...
因此需要将修改后的apk包再用dexopt-wrapper优化apk包后生成出odex文件,然后删除apk包里的classes.dex,并在相同目录下放置与apk包同名的odex文件。 按照原system目录的文件结构组织好后,目录复制到linux环境下...
android 合并apk和odex文件 前提:正确安装JDK和配置环境变量 需要这个apk所在的rom里面的一些jar文件, 都在/system/framework里面:core.jar, ext. jar, framework. jar, android.policy. jar, services. Jar...
《APK+Dex文件反编译及回编译工具》 简称:APKDB 是一款,针对Android OS...优化,Odex合并到APK或JAR功能(可选择系统版本) 5.增强,支持(JB)Android v4.1.1 编译 6.增强,与手机助手的兼容性 7.其他,一些调整
老外写的《android-apktool》软件,可以帮助我们把APK反编译,生成程序的源代码和图片、XML配置、语言资源等文件。我们对图片和语言资源等文件修改后,可以再把它们编译打包成APK 直接下了这个,解压到任意文件夹...
工具简介apktool/ apk的反编译,编译工具,代码为smali格式signtool 签名工具,命令为 signed.sh yours.apk,生成yours-signed.apkdex2jar 将apk中的classes.dex 转换成jar包,然后通过JD-GUI 分析代码,转换出的...
《Android APK+Dex文件反编译及回编译工具(APKDB)》 简称:APKDB 是一款,针对Android OS系统的APK程序,直接反编译修改的工具。 APKDB集合了当今最强悍,最犀利的APK及Dex文件编译工具; 正常安装后,它...