安卓首页资讯挖客教程刷机手机手机大全平板动漫|安卓市场游戏软件壁纸铃声主题|安卓论坛
切换到宽版
新浪微博
腾讯微博
 

只需一步,快速开始

QQ登录

查看: 196092|回复: 582

提取官方系统程序,教你如何合并apk和odex!附优缺点分析   [复制链接]

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
20607
金币
24322
注册时间
2012-7-2

版区人气勋章 安卓网周年庆 Hiapk高达 Hiapk基友勋章 Hiapk人气王 Hiapk帅哥 Hiapk土豪 Hiapk巡警

发表于 2013-6-11 16:23:34 |显示全部楼层

很多小白问我,如何提取ROM内的某某程序,这里,就给大家详细说说吧。

很多人应该都遇到过,有时候你看上某个rom里的程序比较好用,想提取出来和大家分享,却发现这个程序分了为apk和odex两个文件,不方便安装,所以我们要想办法把这两个文件合并成为一个文件。

那么我先说明下odex文件的作用,如果你仔细观察会发现那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/app中可以让一般用户无法正常导出使用。



一般来说官方rom都是odex化的rom(含Odex文件),而定制rom大部分都是deodex化的(无odex文件)。两者应该各有优点吧,貌似现在也没有统一的说法。官方rom大部分每个apk对应一个.odex文件,而deodex化的rom里面只有一个apk,把.odex转换成classes.dex放到apk包里面了。所以 odex rom的.apk+.odex=deodex化rom的1个.apk (简单地来说,其实就上一个合并的过程)


Odex的优点:
1.刷完机首次进入系统的时间会缩短一些。文件的运行速度应该也有所提升。
2.APK文件不能单独安装,并且如果反编译APK文件,一般也只能得到资源文件。可以说是起到一定的保护作用,避免被肆意修改和使用。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的。
3.会增加一些可安装应用的空间,虽然不是很多。(这个我没发现)



Odex的缺点:
1.不方便修改ROM以及文件本身。
2.增加ROM包的体积,虽然不是很多。
3.当你升级某个被Odex的应用后,这个应用将会出现故障,最常见的就是FC。(强制关闭)



而现在的定制rom之所以基本上都是deodex化(无odex文件)的是因为
1. 可以适当减小文件的体积,起到节省rom空间的作用;

2.主要方便rom定制者对rom的个性化定制和移植;apk相对容易反编译和修改,而odex先要解包成smali然后才能生成classes.dex,如果要再生成odex,还要用dexopt-wrapper,比较麻烦。


个人的感觉:Odex化后系统启动和程序运行速度的确提高了,多少不知道,但是做了Deodex(合并apk和odex)的刷机后的启动速度确没有Odex的来得快,也就是官方的,没有做Deodex的。大家刷过这两种的包就知道。


完整的APK有什么好处?
上面提到,若不是完整的APK,在缺少ODEX的情况下无法进行安装。
更重要的是,很多自定义美化,需要修改代码等等都需要对APK进行反编译。
比如,很多机油们想要ROM进行状态栏透明,或者全局透明,这就需要对system\framework\framework-res.apk进行反编译,更改其中的代码。
很遗憾的是,framework-res.apk也被做过ODEX处理,不是完整的文件,只有按照上述方法与ODEX文件合并,才可以进行反编译,对其代码进行更改!






上面跟大家分析了一些基本内容,下面就教大家合并吧。

游客,如果您要查看本帖隐藏内容请回复

还是那句话,机油们的评分,是我发帖的最大动力~
求评分哟~~!!






该贴已经同步到 lihong_716@yahoo.cn的微博
3

查看全部评分

使用道具 举报

Rank: 1

积分
11
金币
16
注册时间
2013-2-10
发表于 2013-6-12 00:37:15 |显示全部楼层
提示: 该帖被管理员或版主屏蔽
顶(3) 踩(0)

使用道具 举报

Rank: 3Rank: 3

积分
188
金币
241
注册时间
2011-10-9
发表于 2013-6-12 18:03:27 来自手机 |显示全部楼层
多谢分享!!!!!!
顶(2) 踩(1)

使用道具 举报

Rank: 1

积分
31
金币
41
注册时间
2013-5-3
发表于 2013-6-13 10:06:28 |显示全部楼层
提示: 该帖被管理员或版主屏蔽
顶(3) 踩(0)

使用道具 举报

Rank: 1

积分
2
金币
4
注册时间
2011-2-10
发表于 2013-6-13 12:57:57 |显示全部楼层
xuexi
顶(2) 踩(0)

使用道具 举报

Rank: 2

积分
51
金币
89
注册时间
2012-8-3
发表于 2013-6-13 15:18:48 |显示全部楼层
技术教程,学习
顶(2) 踩(0)

使用道具 举报

Rank: 2

积分
131
金币
222
注册时间
2012-11-14
发表于 2013-6-21 11:49:54 |显示全部楼层
上面跟大家分析了一些基本内容,下面就教大家合并吧。
顶(0) 踩(0)

使用道具 举报

Rank: 2

积分
51
金币
66
注册时间
2013-2-8
发表于 2013-6-21 15:35:22 来自手机 |显示全部楼层
这个可以也月
顶(0) 踩(0)

使用道具 举报

Rank: 1

积分
2
金币
0
注册时间
2012-7-13
发表于 2013-6-22 15:05:32 |显示全部楼层
提示: 该帖被管理员或版主屏蔽
顶(0) 踩(0)

使用道具 举报

Rank: 2

积分
67
金币
93
注册时间
2012-11-24
发表于 2013-6-22 18:30:30 |显示全部楼层
顶(0) 踩(0)

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

用安卓手机,装安卓市场!

Archiver|手机版|安卓网 ( 闽ICP备09004645号 )

GMT+8, 2017-8-19 22:56

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部