有时候,某些应用并不太常用,放在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程序了。
就这么简单。
<script type="text/javascript"></script>
分享到:
相关推荐
通过class生成classes.dex 文件。 java -Xmx512M -jar smali-1.2.6.jar out -o classes.dex 4. 将classes.dex放到apk文件 因为apk是zip的mime编码类型,使用winzip或winrar直接拖入到apk改名为zip的压缩包中...
3. 通过class生成classes.dex 文件。 java -Xmx512M -jar smali-1.2.6.jar out -o classes.dex 4. 将classes.dex放到apk文件 因为apk是zip的mime编码类型,使用winzip或winrar直接拖入到apk改名为zip的压缩包...
从 Android ART .oat/.odex 文件中提取 .dex 文件 这个怎么运作? DEX 文件嵌入在 Android ART .oat/.odex 文件中。 oat2dexes寻找 DEX 魔法“dex\n035\0”。 如何使用? $ file file.odex file.odex: ELF 32-bit...
将odex类文件输出到out目录下。2、java -Xmx512M -jar smali.jar out -o classes.dex 。将out目录重新编译成classes.dex 。3、将得到得classes.dex重新打包到缺少classes.dex的xxx.apk当中。4、将apk重新签名。5、...
【dex转smali文件】 framework.dex为要转换的文件 , out为输出目录 运行命令:java.exe -jar ...将boot.oat解包多个dex文件 ,生成到 dex 和 odex 在当前目录下。 运行命令:java.exe -jar oat2dex.jar boot boot.oat
java -jar baksmali-2.0.3.jar -x android.odex java -jar smali-2.0.3....3. 将class生成为classes.dex文件。 命令:java -Xmx512M -jar smali-2.0.3.jar out -o classes.dex 4. 把classes.dex放入apk里面。
ODEX是安卓上的应用程序apk中提取出来的可运行文件,即将APK中的classes.dex文件通过dex优化过程将其优化生成一个·dex文件单独存放,原APK中的classes.dex文件会保留的。 中文名 ODEX 类型 可运行文件 说明 安卓上...
部分手机厂商为防止自己程序,被移植到其他手机上,将classes.dex与APK文件分离,转化成一个odex文件,这样想要用分离后的程序,就要连着framework下的文件一起复制到别的手机上,这样就会无法开机 将odex 文件转成...
NULL 博文链接:https://hellorheaven.iteye.com/blog/1212724
odex需要的jar.zip 大家下载然后访问 http://blog.csdn.net/fanmengke_im
安卓8.0之后odex转dex命令转不出文件,报错缺失vdex文件,这里需将命令修改之后可实现odex转dex
dex和odex文件格式详解资料
【Android 热修复】热修复原理 ( 修复包 Dex 文件准备 | Dex 优化为 Odex | Dex 文件拷贝 | 源码资源 ) https://hanshuliang.blog.csdn.net/article/details/115639313 源码快照
(1)把原来的odex 变换成 dex 的核心,从 baksmali.jar 换成了 oat2dex.jar (2)批处理脚本里面,原来的只能重 apk 和 odex 在同一目录的情况下,这种处理方法会漏掉带有 so 动态链接库的 apk。比如下面这种情况...
odex文件制作详细教程,第一步:工欲善其事必先利其器,制作odex文件所需要的所有工具全在附件里:
一键odex2dex的工具包,若要反编译你自己的odex文件,需要你自己rom包下的system/framework下的所有文件复制到本工具包的framework目录下,并将你自己的odex文件替换成工具包里的123.odex文件
压缩包中有各个版本的smail.jar和baksmail.jar,从1.2.2到最新的2.2.5。 还有oa2dex.jar和说明文档。 其中:5.0一下odex使用smail.jar和baksmail.jar,5.0以上的使用oa2dex.jar
odex转dex 工具 保证可用 使用了baksmali-1.4.0.jar和 smali-1.4.0.jar
用于合并*.apk 和 *.odex文件
android 反编译 逆向 vdex2dex odex2dex 查看app源代码