Android ROM移植开发基础教程(一)

2017-06-04 15:28 来源:安卓刷机-安大师 作者:佚名

用手机看

扫描二维码随身看资讯 使用手机 二维码应用 扫描右侧二维码,您可以
1.在手机上细细品读~
2.分享给你的微信好友或朋友圈~
很多朋友都想自己移植ROM,但是网上没有好的教程。小编这次找到了一些教程,结合自己的经验,跟大家分享一下。一次写不完,我就分开写了。有兴趣的朋友可以留意一下,不想花时间移植的机友就纯当路过了。另外本教程主要是针对Android4.0,非此版本请谨慎行动。

步骤方法

  1. 找相近机型
    找相近机型主要是为我们移植rom节省功夫,因为相近机型的rom大部分驱动都是相同的,比如和小编用的G22相近的机型有G14、G18、One S,然后我选择的是G14的ROM,为什么?因为G14与G22的硬件配置最相似,比如CPU是同型号的,分辨率也是一样的,连摄像头像素都一样,所以为G22移植ROM,找G14机型的rom是首选。机友们认真分析之后可以找到合适的吧。
  2. 移植boot.img
    移植安卓rom首先要移植boot.img,这里我只说一下要重点修改boot.img里面的内容,此外怎么解包和打包boot.img就不在这里谈及了,网上有很多教程,多用搜索功能。我推荐用厨房软件解包boot.img,解包boot.img后有BOOT-EXTRACTED文件夹,BOOT-EXTRACTED文件夹里面有boot.img-ramdisk文件夹和zImage内核,我们找到boot.img-ramdisk文件夹里面的init.rc文件,移植boot.img全部就在init.rc文件,init.rc文件我理解就是一个启动文件,我们开机后通过init.rc文件启动系统。好,现在我们用文本编辑打开init.rc文件,找到export BOOTCLASSPATH这一项,这一项后面就是启动系统的相关项目,不同机型不同系统这一项启动内容都不一样,那么我们怎么修改这个呢?很简单,比如我们解包G14的sense4的rom,找到G14的内核boot.img,然后解包G14的boot.img,找到init.rc文件,然后用文本打开将export BOOTCLASSPATH这一项后面的内容全部复制,然后再到22的init.rc,把export BOOTCLASSPATH这一项的内容复制上去,简单的说就是将G11的启动内容复制到G22的启动内容上,到这里,boot.img的移植就完成了,最后将G22的boot.img打包回来。
  3. 修改rom包刷机脚本

    我们知道recovery刷机包都是zip格式的,所以我们完全可以解压修改后再打包回来,完全没有问题。比如我们下载G14的一个XUI的官方ROM,解包后里面有META-INF文件夹,有system系统文件夹,有boot.img内核文件,我们只要修改META-INF文件夹,META-INF里面都是刷机脚本文件,操作如下:

    \META-INF\CERT.RSA 签名文件 删掉

    \META-INF\CERT.SF 签名文件 删掉

    \META-INF\MANIFEST.MF 签名文件 删掉

    \META-INF\com\android 机型验证文件夹 整个删掉

    \META-INF\com\google\android\ update-binary 刷机命令程序 保留

    \META-INF\com\google\android\ updater-script 刷机脚本 需要修改

    修改updater-script如下:

    用文本打开updater-script,删除以下两行机型验证

    assert(getprop("ro.product.device")== "ruby" ||

    getprop("ro.build.product") == "ruby");

    将mount("ext4","EMMC", "/dev/block/mmcblk0p23", "/data");

    改为mount("ext4", "EMMC", "/dev/block/mmcblk0p31","/data");

    修改好保存updater-script

    注意上面的红色数字改成你data分区的分区表的代码。红色数字每个机型特定,如果错误,ROM直接就不能刷了。如何查看分区表信息,可以直接找度受。或者等小编后续的教程。

  4. 替换boot.img
    将修改好的G22的boot.img(不会修改boot的机油可以直接用相同UI的ROM的boot.img)替换到G14的XUI官方ROM里面
  5. 签名打包

    重新打包ROM为zip格式,然后拿去刷机吧,按照上面过程操作,这个rom完全可以开机进入系统的。
    不过进入系统之后你会发现完全不能使用啊,各种进程停止。因为简单替换boot.img,虽然可以进入系统,但是由于驱动或配置不同,还是存在很多bug的,比如开机后不能识别内存卡,usb不能挂载内存卡,wifi不能用,wifi热点不能用,GPS不能用,重力感应不能用,声音有问题等等。这些都会在后续的教程中间一一解决,尽量使我们的ROM更完美。

表羞涩嘛~喜欢就点我

分享吧~提高逼格:

相关阅读

最新ROM

更多+

三星A520F_6.0.1_A520FZTU1APL7【五件套】 官方原版 刷机包

三星A520F(Galaxy A5) 固件语言中国台湾(BRI) Android:6.0.1

下载

三星J200Y_5.1.1_J200YZTU1AOK1 官方原版 刷机包

三星J200Y(Galaxy J2) 固件语言:中国台湾(BRI) Android:5.1.1

下载

三星N7000_4.1.2_N7000ZSLO2 官方原版 刷机包

三星N7000(GALAXY NOTE) 固件语言:中国台湾(BRI) Android:4.1.2

下载

三星G9250_6.0.1_G9250ZTU2DPC5【5件套】 官方原版 刷机包

三星G9250(Galaxy S6 Edge) 固件语言:中国台湾(BRI) Android:6.0.1

下载

三星i8552_4.1.2_I8552ZTAMG3 官方原版 刷机包

三星i8552(Galaxy Win) 固件语言:中国台湾(BRI) Android:4.1.2

下载

三星G9287_6.0.1_G9287ZHU2BPC6 官方原版 刷机包

三星G9287(Galaxy S6 edge+ Duos) 固件语言:中国台湾(BRI) Android:6.0.1

下载

三星P3100_4.1.2_P3100ZSDMH1 官方原版 刷机包

三星P3100(GALAXY Tab) 固件语言:中国台湾(BRI) Android:4.1.2

下载

三星I9001_2.3.6_ZSKP7 官方原版 刷机包

三星I9001(Galaxy S Plus) 固件语言:中国台湾(BRI) Android:2.3.6

下载

三星G850Y_4.4.4_G850YZTU2ANL1 官方原版 刷机包

三星G850Y(Galaxy Alpha) 固件语言:中国台湾(BRI) Android:4.4.4

下载

三星i8190N_4.1.2_I8190NZSAMC1 官方原版 刷机包

三星i8190N(Galaxy SIII Mini) 固件语言:中国台湾(BRI) Android:4.1.2

下载

]

热门合集

更多+

Copyright © 2012-2016 安卓刷机-安大师 andashi.top, All Rights Reserved.沪ICP备15093131号-1