移动叔叔

标题: 其实移植并不难 [打印本页]

作者: a5187110    时间: 2016-10-7 23:44
标题: 其实移植并不难
本帖最后由 a5187110 于 2016-10-7 23:47 编辑

首先声明v
搬砖来的

1.首先先清楚的了解本机型的硬件配置,也就是主板平台方案,分辨率等。
通常同系列的CPU不同机型的ROM拼包移植成功率较高。
2.挑选合适的底包和移植包,底包和移植包尽量同源。
3.找出底包和移植包两者的不同之处,目的是让我们了解需要改动什么才可以让别的机型ROM能在我们的机型上面使用,在底包、原生包、移植包上进行交叉对比。
卡刷ROM条件:
1、机器必须先ROOT
2、必须有支持的第三方Recovery,没有第三方Recovery的也就只能反向从机器中进行提取并移植了;
3、支持卡刷的ROM,对于小白来说,卡刷ROM也是最方便的;
移植思路及步骤:
一、底层硬件驱动不同(内核).
删除移植包里面的boot.img(内核)和system\lib下的modules文件夹.替换成本机型的内核文件
二、按键配置不同(键值).
将移植包system\usr下的keychars和keylayout两个文件夹替换成本机型的
三、传感器不同(驱动类)
将移植包system\lib下的hw文件夹替换成本机型的
四、系统配置文件不同(驱动类)
将移植包system\etc下的bluetooth、firmware、permissions、wifi
四个文件夹替换成本机型的(如果有);
其中firmware中的modem.img是负责通信的基带文件!modules中的文件是开机底层引导驱动,只要这两处替换成KIS1的,那么这个ROM一般都能正常启动进入系统,且有信号!
还有enhanced.conf、media_profiles.xml(多媒体配置文件,即视音频配置文件)、vold.fstab(存储分区配置文件);
最后注意system下是否有vendor和wifi文件夹,可以直接用文件对比器进行对比修改;
五、修改build.prop(属性)
把自定义的内容起进行直接修改,例如:机型、日期、版本号等.参数如果懂可以修改,如果不懂,建议不动它,只修机型、日期、版本号等;
六、修改updater-script(刷机脚本);
不同机型的ROM,刷机脚本里包含的分区挂载和格式化命令都有所差异,如果不做修改直接使用,把本不该改动的分区挂载并修改了的话,手机将存在变砖风险,前提需了解自己机器的分区结构,
脚本开头有验证机型,请删除,例如assert(getprop(“ro.product.device”)== “**x” || getprop(“ro.product.product”) ==
“**xx”)
这是验证机型的代码。没有则无视,也可以修改成自己的机器名称。
ROM打包测试;
打包测试了,一般如果内核与库文件、库文件与上层框架兼容的话,刷机后至少能开机。
如果卡第一屏了,分析原因,一点点排查,主要看updater-script脚本有无问题,看内核是否已经替换,看传感器等库文件是否合理替换等;
后续修复BUG工作,主要放在etc和lib、lib\hw文件夹里进行搜索修改。
音频audio,相机camera,感应器sensor,灯light。无线wifi,蓝牙bluetooth….哪项不正常工作,搜索带有这些英文的KIS1驱动,替换进去即可!其实移植不难,只要你喜欢查资料,
你自己也可以移植甚至开发自己喜欢的安卓系统
作者: ypwo    时间: 2016-10-7 23:48
沙发 是神人
作者: 龙哥01    时间: 2016-10-7 23:52
神人神人神人
作者: 13631271817    时间: 2016-10-8 00:07
顶贴,坐等魔趣os,
作者: 770274963    时间: 2016-10-8 00:08
说起来简单。难在修复
作者: fluinggg    时间: 2016-10-8 00:15
吊炸天
作者: 2443669496    时间: 2016-10-8 08:46
770274963 发表于 2016-10-8 00:08
说起来简单。难在修复

确实。后期bug修复很麻烦,而且确实需要很多技术
作者: 112054398    时间: 2016-10-10 13:42
移植过十几个系统的 表示  移植是不难·  移植出来要搞到用得舒服 难
作者: maning407    时间: 2016-10-10 14:50
移植不难,难在修复bug
作者: 本拉登他爹    时间: 2016-10-10 15:15
楼主惊为天人
作者: ICEO    时间: 2016-10-16 01:28
收藏,肯定有用




欢迎光临 移动叔叔 (http://bbs.ydss.cn/) Powered by Discuz! X3.2