很多时候大家都知道光靠官方的rom,那么这部手机就失去了它应有的多彩性。所以就会出现root,recovery,接着便是刷机。说到刷机,就必须有刷机包。那么这些刷机包从哪来呢?官方的,第三方适配的(比如乐蛙,Miui,color os),还有就是移植第三方刷机包(比如vivo,oppo,lenovo等等其它手机的刷机包)。今天就来说说移植包是怎么来的——MTK手机移植rom教程。本教程分为两个部分,第一部分为移植篇,第二部分为修复bug篇。本教程以个人实践为基础,参考网上其它资料整理而来的,在这里我只说我懂的,不足之处请大家补充一下。

准备工作:电脑一台,手机一部。
要求:不需要懂反编译,不需要会C语言。只要有耐心,有毅力。
工具:rom签名工具,boot解包工具,文件较比工具,notepad+编辑工具。

一:这一步,也是准备工作。对你的电脑进行java环境的配置(很关键奥,一定要验证一下是否成功)。至于怎么配置,我就不说了,大家百度一下。(这一步我三言两语带过,其实还是有点难度的,而且非常重要,java环境没配置好后面都是白瞎。)

二,移植包的选择。移植有很多种,正向移植,逆向移植,混合移植。我们这里讲的是,成功率较高,比较简单的逆向移植。所谓逆向移植,就是把要移植的包作为底包,把官方的刷机包作为对比包,然后再进行对比移植。这里,重点要说一下移植包的要求,现在机子的同质化比较严重,那我们移植就要找相近的机型,同一屏幕分辨率,同一cpu平台,同一像素(相比之下前两个更重要,尤其是同一cpu平台),这样成功率更高,也更加节省时间。比如我们大Vn821,可以选择大vn820(没有意义,只是举例),可以选择联想P770,VIVO的S9,OPPO的t29等等。

三,ROM的简介。一个zip压缩的刷机包,通常都是有三个部分组成,boot.img(内核),system(系统),META-INF(签名文件)。移植的时侯主要动这三个部分。下面放上三个图

后面两张图为system文件夹展开图片。

四,odex的合并。这一步看似可以省略,但是合并后对后续的移植还是有点帮助的。建议把移植包和官方包都合并odex。一键odex工具链接地址(使用方法解压后里面有):http://pan.baidu.com/share/link?shareid=2646871489&uk=2216611990

五,移植boot.img。从这步开始,算是进入移植rom的核心部分了。首先,使用一键移植boot工具对boot.img的初步移植。一键移植boot.img链接地址:http://pan.baidu.com/s/1gdIlK23(使用方法解压后有说明)。

一般来说,boot.img移植后制作刷机包就可以试试能否开机,也就是说改动的越少就越好,我一般也先仅仅移植boot.img,制作成刷机包,开机后看有什么bug再针对性修复。

六,syetem文件夹的改动。这步最麻烦,也最关键。我们打开移植包内的system文件夹(如图一所示),接着按照下面的操作进行:
一底层硬件驱动不同.
删除移植包里面的system\lib下的modules文件夹.替换成本机型的
二按键配置不同.
将移植包system\usr下的keychars和keylayout两个文件夹替换成本机型的
三传感器不同
将移植包system\lib下的hw文件夹替换成本机型的
四系统配置文件不同
将移植包system\etc下的bluetooth、firmware、permissions、wifi 四个文件夹替换成本机型的(如果有);
还有enhanced.conf、media_profiles.xml(媒体配置文件)、vold.fstab(存储分区配置文件)当然,有些是不用换掉的,这要根据机型来判断的。

七,修改build.prop。用文件较比软件对比移植包和官方包的system文件夹下的build.prop文件(建议使用Beyond Compare,可百度下载)。主要修改的部分如下图,一定要和官方包一致,其它不用动。否则会出现无信号或信号极差的情况。

这步必须有!!!

八,META-INF(签名文件)的修改。
一,删除移植包META-INF目录下的CERT.RSA ,CERT.SF和MANIFEST.MF(这三个是签名文件)
二,用文件较比软件Beyond Compare对比移植包和官方包META-INF\com\google\android目录下的updater-script文件,这个是刷机脚本。保证移植包内刷机脚本里分区挂载文件和官方一致(如下图阴影部分所示),删除移植包刷机脚本里assert(getprop(ro.product.device) ==blade || getprop(ro.build.product) ==blade ||getprop(ro.product.board) ==blade这一部分(如果有一定要删除的,通常都在脚本开始的部分,没有就算了)。

这步也是必须有的!

九,rom的打包与签名。到了这一步,移植rom也就基本完成了。
一:rom的打包,用压缩软件(如好压)把修改好的boot.img,system,META-INF打包为update.zip
二,rom的签名,把上面的update.zip放进Auto-sign(android签名)
内进行签名,Auto-sign(android签名)工具链接地址:http://pan.baidu.com/s/1bnEWjcN,具体使用方法里面有。
接下来便是激动人心的刷机时刻,如果能开机进入桌面,那么恭喜你,你已经成功一大半了!没有进入桌面,卡在开机第一屏或者卡在开机动画的,别灰心,万事开头难。你再耐心的检查一遍步骤,或者只移植boot.img试试,或者换个刷机包试试。



祝你好运!!!

via。http://tieba.baidu.com/p/3710449259?see_lz=1