当前位置:首页 > 分享 > 正文内容

Odex文件的作用以及介绍

lonhowe14年前 (2011-08-10)分享1096

细心的网友可能发现Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? Android123提示大家,如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无法正常导出使用。

很多网友可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装在/data/中,而rom存放时在/system/bin中,所以最终导致了用户可装在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 中的xxx.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打包重新签名即可。

扫描二维码推送至手机访问。

版权声明:本文由IT之家发布,如需转载请注明出处。

本文链接:https://www.it678.com/post/65.html

分享给朋友:

“Odex文件的作用以及介绍” 的相关文章

酷!折叠起来的笔记本电脑

酷!折叠起来的笔记本电脑

满脑子都是iPad、Xoom 一堆平板电脑?大可不必,笔记本电脑一样可以更轻薄更酷——折叠式概念笔记本电脑Feno,除了能像普通电脑在键盘与屏幕之间折叠外,柔性OLED屏幕的加入使得它还可以从中间再折叠一次。这样更加小巧,携带方便。Feno配备了一个弹出式无线鼠标,轻轻一按,...

iPhone 5 全球发布会视频

iPhone 5 正式发布了?当然没有,这个是纯恶搞,纯YY。本来犹豫是否把这个视频发出来,毕竟不是那么正统,大家就来乐呵和轻松一下吧。主持人,很侯总,很直销。...

intel 酷睿 奔腾 赛扬 凌动 至强 安腾 性能参数详细对比

现在主流的电脑处理器来说把:分为Celeron 4(赛扬4系列)、Pentuim 4(奔腾4系列)、Celeron 7(赛扬7系列) 、Pentuim 7(奔腾7系列)和Core(酷睿系列) 台式: 低端:Celeron 4(耐特布雷斯特架构)、Celeron 7 (Celeron 400系列,赛扬...

常见的系统文件的说明

玩美化的同学一定会经常的碰到要替换系统文件的时候,对于美化老手来说这些dll当然不会对柠檬(您们)造成阻碍,所以这次的说明是给一些美化新手的,希望大家能有所得。废话不多说,直接进入主题。explorer——开始菜单位图shell32.dll——控制面板...

新手搭建PHP环境必备知识:windows下PHP5+APACHE+MYSQ完整配置(个人总结)

经过一段时间狂热的PHP编程,对WINDOWS平台下PHP的配置可算是深有感触,一开始我用的是一键安装的傻瓜包,但是考虑傻瓜包的安装版本已经落后,在真正手动配置PHP环境时遇到许多问题,在查阅了许多资料和尝试后,终于配置成功。现在,我将我的配置经验和大家分享一下,相信可以解决大家配置PHP环境的迷惑...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。