魔趣论坛

 找回密码
 注册账号
通过您的新浪微博帐号登录
QQ登录
查看: 13630|回复: 47

[知识百科] 讲讲Android ROM的增量更新系统的原理和优势。

[复制链接]
本帖由 martincz 同步到 马丁龙猪 的微博!
  • TA的每日心情
    奋斗
    6 天前
  • 签到天数: 1301 天

    连续签到: 2 天

    [LV.10]以坛为家III

    发表于 2015-3-29 17:00:46 | 显示全部楼层 |阅读模式
    手机的ROM文件动辄数百兆,如果每次更新都去下载完整的ROM文件是非常麻烦、痛苦的。
    当你不在电脑身边,又迫切想更新到最新的系统,或是你在电脑身边,但是又觉得完整升级太麻烦。
    这时候,增量更新将会是你最好的选择!因为它方便、高效、省力、在手机上直接能进行更新操作。

    拿MOTO Nexus 6的魔趣ROM来说,20150329的每夜版完整包是438.74 MB。
    如链接所示:http://download.mokeedev.com/?device=shamu&type=nightly
    如果你想从20150326版本升级到20150329,只需要下载14.31 MB的增量更新包。
    如果你想从20150327版本升级到20150329,只需要下载12.72 MB的增量更新包。
    如果你想从20150328版本升级到20150329,只需要下载11.90 MB的增量更新包。
    看到完整包和增量更新包的大小对比,你现在是否惊呆了???

    增量更新包的原理:
    增量更新是指在进行数据的更新操作时,只更新需要变更的地方,忽略未做变更的地方。
    这样增量更新文件相比完整的ROM文件就会小很多,往往只有几兆或几十兆。
    增量更新包是由无数个差分补丁组成的,而差分补丁则是用专门的工具生成的,比如bsdiff和detail 3。

    生成的增量更新包结构如下图:

    这是Nexus 6 201503281428-201503291128增量包中framework目录的差分补丁,拿其中的framework.jar.p来说,它的大小是569640字节。
    换算成大家所熟悉的数值就是556KB,连一兆都没有。如果是完整包,单单framework.jar就得5.2兆。

    差分补丁的作用和不足:
    所谓补丁,是指有针对性的去修复或改变去事物。
    比如你对衣服打了补丁,这个补丁必然是针对衣服的具体一处位置的,你换件衣服还打那个补丁显然是不行的。
    如果你这件衣服的洞破的更大了,你这个补丁也就打不上去了。
    在手机上也一样 ,增量更新包中的差分补丁是针对具体版本的。
    比如OTA-MK50.2-shamu-201503281428-201503291128-NIGHTLY.zip
    那么这个增量更新包的作用就是把你手机上的201503281428版本升级到201503291128,别的版本不能用。
    如果你的手机是201503281428版本,但是里面的一些文件被修改或是删除了,补丁自然也就不能用了。

    增量更新包的升级过程:
    首先增量更新包会验证你手机的系统文件是否和补丁的应用目标一致,确认一切相符才会开始进行补丁操作。
    如果这个过程发现补丁和应用目标不一致,就会立即终止增量更新操作,你的系统文件将不会有任何改动。
    只有这样才能保证更新的顺利进行以及增量更新后的版本和刷完整包的效果一致。
    如果没有这样的安全验证,而是遇到符合的更新,遇到不符合的忽略,那么严重一点你的手机系统可能就挂了。
    还有一种可能就是各种程序无法正常运行,下面举个例子:
    比如Frameworks里更新了一个方法,Settings里需要去调用。更新的时候Settings更新了,Frameworks跳过了。
    那么后果就是当Settings调用这个方法的时候,Framework没有,结果Settings程序就崩溃了。

    如何用增量更新升级系统:
    增量更新通常是由ROM提供方提供的。
    厂商的官方系统或者一些第三方ROM会提供增量更新包。
    通常可以在网页上或者ROM中的系统更新里进行下载,下载后通过recovery进行刷入。
    下图所示的是魔趣的系统更新界面:

    如果厂商或者ROM提供方没有提供对应版本的增量更新包,或是增量更新包已经被移除,你就不得不刷入完整包或者自己制作增量更新包了。
    比如魔趣因为是民间爱好团队维护的,没有经费,服务器资源有限,存不下太多版本的更新包,拿每夜版本来说,只能支持最新3天版本的增量更新。
    今天是29号,如果你当前是26号或之后的版本,你可以直接升级到29号的最新版本。如果你是25号的版本,那么你只能刷完整包升级了。
    自己制作对于非开发人员来难度极高,需要掌握大量的知识和相关工具应用,本文就不做叙述了。

    总结:
    总而言之,希望本文能够帮助大家更好的了解完整刷机包和增量更新包的区别,方便大家更愉快的玩机。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册账号  

    x
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-5 07:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-29 17:09:37 | 显示全部楼层
    涨姿势了[嘻嘻]
    ----------本评论来自新浪微博:_Chopper_
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-5 07:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-29 17:09:37 | 显示全部楼层
    龙大辛苦!
    ----------本评论来自新浪微博:熬整夜__
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-5 07:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-29 17:25:25 | 显示全部楼层
    存了[鼓掌]
    ----------本评论来自新浪微博:hanggegreat
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-5 07:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-29 17:25:25 | 显示全部楼层
    魔趣大法好,感谢龙猪讲解
    ----------本评论来自新浪微博:四枫院紫音
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-5 07:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-29 17:25:25 | 显示全部楼层
    大大。问下moto xt1031有魔趣包吗
    ----------本评论来自新浪微博:桎梏or
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-5 07:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-29 17:25:25 | 显示全部楼层
    大大,如果光从处理器方面来讲,米2/2s可以用安卓5.1么,
    ----------本评论来自新浪微博:此昵称已被占用1818
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-5 07:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-29 17:25:25 | 显示全部楼层
    我想问一下,魔趣和CM有什么区别啊[黑线]
    ----------本评论来自新浪微博:伐木飞盘嗨全场
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-5 07:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-29 17:25:25 | 显示全部楼层
    大大,如果从处理面来讲,!米2有
    ----------本评论来自新浪微博:此昵称已被占用1818
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-9-5 07:43
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-29 17:25:25 | 显示全部楼层
    mokee大法好
    ----------本评论来自新浪微博:小渣渣啊小渣渣
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    手机版|魔趣论坛 ( 沪ICP备11020540号-1 )|  

    我们旨在提供一个良好的手机玩家技术交流、资源分享社区,如果有涉及版权的资源,请联系管理员并提供相应的版权证明,我们会进行相应处理。

    GMT+8, 2017-1-18 09:36 , Processed in 0.087182 second(s), 48 queries , Gzip On, Redis On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表