当前位置: 刷机之家 > 刷机教程
apk和odex的介绍和合并
来源: www.shuajizhijia.net 日期: 2013-07-11 21:08

  一、apk和odex的介绍和合并

  (一)APK介绍

  APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。

  APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。

  一个APK文件(压缩文件打开可以看到)结构为:

  mete-INF\ Jar文件中常可以看到

  res\ 存放资源文件的目录

  AndroidManifest.xml 程序全局配置文件

  classes.dex Dalvik字节码

  resources.arsc 编译后的二进制资源文件

  总结下我们发现Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别,这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式。

  在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。最终我们平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。

  (二)、odex文件介绍

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

  很多网友可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装在/data/中,而rom存放时在 /system/bin中,所以最终导致了用户可装在Android手机中的软件会变少,占用系统空间。

  APK生成 odex文件方法:

  1.编译开源GIT上的build/tools /dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤

  2.将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux命令行,使用cd命令进入/data/local目录,

  cd /data/local./dexopt-wrapper android123.apk android123.odex

  (二)合并odex和

  少dex的apk 为完整的apk文件

  需要用到的工具是smali,一个开源的java处理软件: http://code.google.com/p/smali/downloads/list

  1.下载的baksmali和 smali的jar文件到工作目录

  2.把ROM里面的core.odex, ext.odex, framework.odex, android.policy.odex, services.odex这5个文件也放在同一目录(也可以放在别的目录,通过设置BOOTCLASSPATH指定,默认就是当前目录)。

  例:以teeter为例子 (HTC一些Android常常会内置),ROM里面拿出来的可能是2个文件,teeter.apk + teeter.odex。

  1、分解odex文件:

  java -jar baksmali-1.2.1.jar -x teeter.odex

  如果没其他问题,会在工作目录生成一个out的目录,里面是分解出来的一些文件,我们在此不深究这些文件的作用。

  2、把分解得到的文件变成classes.dex:java -Xmx512M -jar smali-1.2.1.jar out -o classes.dex,这样得到了一个有用的classes.dex文件

  3、用WinZip或者WinRAR打开teeter.apk文件,把这个classes.dex 放进去

  4、最后再用signapk把最新得到的这个包含classes.dex的apk重新签署一下 (Auto Sign签名工具往期的文章里有下载),就生成一个可以安装的单独APK程序了。

  5、签名完成后即可安装使用了

  (三)、利用厨房进行合并

  首先打开厨房界面

  选择0进行高级选项

  选择11对工作目录中的deodex进行合并。出现如下界面

  我们选择b,对所有文件进行合并。然后会出现合并过程界面如下:

  以上就是厨房合并的全过程了。

如果以上教程仍然解决不了您的问题,请查看:http://www.shuajizhijia.net/news/12133.html

刷机工具
官方包刷机工具,一键刷机
高速下载
请选择您的机型进入
快速进入机型
  • Google
  • HTC
  • 摩托罗拉
  • 三星
  • 华为
  • 中兴
  • LG
  • SONY
  • 原道
  • 酷派
  • 优米
  • 卓普
  • 天语
  • ThL糖葫芦
  • 海尔
  • 泛泰
  • 联想
  • OPPO
  • 魅族
  • 首派
  • 海信
  • Acer
  • 华信
  • 小米
  • 佳域
  • 金立
  • GLX
  • 康佳
  • 天时达
  • 夏普
  • 步步高VIVO
  • TCL
  • 青橙
  • 蘑菇
  • 北斗
  • 五元素
  • deovo
  • 优思
  • innos
  • 博沃
  • 小霸王
  • 大可乐
  • 欧恩
  • 蓝天信
  • 夏新
  • 戴尔
  • E本通
  • 京崎
  • 卓拉
  • 尚锋
  • 三普 SUNUP
  • E派
  • 优尔得
  • kente
  • 七喜
  • 阿尔卡特
  • 纽曼
  • 飞利浦
  • 天星
  • 长虹
  • 佳通
  • 智多星
  • 贝尔丰
  • 淘派
  • HIKE
  • 齐乐
  • 三盟
  • 聆韵
  • neo里奥
  • 欧乐风
  • 英迈
  • U9
  • 库柏
  • 爱立顺
  • 万利达
  • 世纪美讯
  • 智薄
  • 广信
  • 爱汉
  • 卓粉
  • 宏信隆
  • 美歌
  • 波导
  • 大易
  • 酷比魔方
  • 铭仁
  • 欧新
  • callbar
  • Windows Phone(WP)
  • 誉品
  • 朵唯
  • 大显
  • 语信
  • 台电
  • 谷峰
  • 欧盛
  • 小蜜蜂
  • 美莱仕
  • 萤火虫
  • 闻尚
  • 天迈
  • 企鹅
  • 韩国现代
  • 百分百
  • 港利通
  • 青芒果
  • 奥可视
  • 凡尔纳
  • 尼彩
  • 明泰
  • UBTEL
  • NO.1
  • 小采
  • 尼凯恩neken
  • 酷比
  • 凯派
  • 努比亚
  • 亿通
  • 维图
  • 万事通
  • 国虹
  • 美晨
  • XOLO
  • Micromax
  • Cherry Mobile
  • Spice
  • ET
  • Fly
  • 基伍
  • 庚Phone
  • 中国移动
  • 影驰
  • 乐视
  • 天猫
  • 天敏
  • 神舟
  • 诺基亚
  • Ucan
  • 原点
  • 昂达
  • IUNI
  • 黑米
  • 尼比鲁
  • 盛大
  • 德赛
  • 锤子
  • 一加
  • 龙酷
  • 喜卡
  • 富可视
  • 米语
  • 首家
  • 酷宝
  • 荣事达
  • 创世能
  • 小萝卜
  • 奥克斯
  • 知己
  • 诺亚信
  • 爱我
  • 小艾
  • 大Q
  • 亿美
  • 小刚
  • 乐购手机
  • ORGTEC橙石
  • 邦华
  • 亚米
  • Q米
  • ZUK
  • 同洲
  • IVVI
  • 赛纳普
  • 华硕
  • 360奇酷手机
  • 亚马逊
  • YotaPhone
  • 美图
  • 格力
  • 博瑞
  • PPTV
  • 黑莓
  • 至尊宝
  • 可美
  • 凯利通
  • 欧博信
  • 嘉源
  • 联合时代
  • 奥乐
  • 友利通
  • 众一
  • 大为
  • 本为
  • 创雅
  • 纯米
  • 沃普丰
  • 明智通
  • 欧怡
  • 科宝
  • 科诺
  • 西铂
  • 友信达
  • 盛隆
  • 大唐
  • 普莱达
  • 高新奇
  • 乐丰
  • 友派
  • 小宇宙
  • 优泰
  • 优购
  • 英特奇
  • 卓酷
  • 完美
  • 纽维
  • 卓米
  • 红遍天
  • 乡米
  • 爱派尔
  • 宏为
  • 南俘
  • 美富通
  • 奥洛斯
  • 米歌
  • 果米
  • 欧奇
  • 华纳威秀
  • 七星河
  • 赛博宇华
  • 酷珂
  • 糯米
  • 传奇
  • 唯米
  • 纽兰
  • 羽翼
  • 朗格
  • 蓝博兴
  • 汇丰源通
  • 奥魅尔
  • 恒宇丰
  • 迪卡
  • 欧乐酷
  • 摩乐
  • 腾信
  • 中德瑞
  • 中轴线
  • 蓝魔
  • 百立丰
  • 蓝米
  • 米蓝
  • 欧酷
  • 艾酷
  • 铂云
  • 佳米
  • 亦米
  • 万米
  • 天意
  • 鑫米
  • 基米
  • 米浪米由
  • 西米
  • 米图
  • 启明星
  • 峰米
  • 亮米
  • 卓比
  • 灰米
  • 独秀
  • 德米
  • 港米
  • 恒语
  • 仿红米
  • 国威创新
  • 凯乐
  • 摩托无线
  • 天米
  • 金步
  • 中江臻智
  • 真米
  • 云耀
  • 艺米
  • 鑫时通
  • 祥米
  • 华唐
  • 尚果
  • 欧峰
  • 莱米
  • 乐世
  • 米U
  • 普蓝
  • 首米
  • IHD
  • 瑞米
  • M派皇族
  • 圣宝龙
  • 1call
  • 爱摩登
  • 知心
  • 梵尚
  • 百嘉好
  • 君爵
  • 语科
  • 酷潮
  • 振华宇科
  • 酷绅
  • 卓乐
  • 博立信
  • 畅想未来
  • 宏森
  • 自由客
  • 鑫卓越
  • 红萝卜
  • 好多乐
  • 心动
  • 国乾
  • 华凌
  • 帷幄
  • 黄米
  • 虹米
  • 鸿米
  • 极米
  • 山楂树
  • 迪泰元
  • 三魅
  • 唯掌
  • 欧米
  • 铂瓷
  • 金来
  • 泰尔龙
  • 摩果
  • 科特
  • 摩天
  • 锐力通
  • 蓝宏
  • 秋米
  • 千机变
  • 派对
  • 牛奶
  • 菲乐普
  • 米来乐
  • 为特
  • 木糖醇
  • 爱迅达
  • 美迪
  • 139易
  • 贡米
  • 格莱特
  • 优赛
  • 翼乐
  • 益米
  • 炫华
  • 星维
  • 信得乐
  • 金国威
  • OZZO
  • POMP
  • 时尚佳
  • 酷鸽
  • 佳信达
  • 美迪飞
  • 心迪
  • 夏信
  • 金星
  • 欧乐迪
  • 吾尚
  • 未为
  • 唯爱
  • 为美
  • 微兴
  • 酷辰
  • 世纪星
  • 唐为
  • 思域
  • 三众
  • 赛尔丰
  • 先科
  • 仿三星
  • SUGAR
  • 山寨
  • 世纪天元
  • 美鑫
  • 凌米
  • 芒果智讯
  • 钮维
  • 同心
  • 潮信
  • 捷语
  • 泰星
  • CCIT
  • 启迪星
  • 宝捷讯
  • 雷米
  • 艾米艾
  • 纳米
  • 果峰
  • 来米
  • 米卡
  • 酷弛
  • 天宏时代
  • 易派
  • 华锐
  • AGM
  • 宇飞来
  • 轰天炮