上次咱们在《Android ROM DIY之MTK平台手机通用移植》中讨论了MTK芯片手机同平台移植的方法,那么今天咱们就谈谈跨CPU平台的移植,以MT6582移植MT6572为例。实际上大体步骤都差很少,只是还须要注意更多的细节。php
1、准备ROMandroid
参看同平台篇web
Android ROM DIY之MTK平台手机通用移植(同平台篇)http://www.morecomtech.com/community/article/sjjc/w2015102700.phpapache
2、build.prop修改工具
打开移植包的build.prop,找到ro.mediatek.platform=MT65xx,修改这个MT65xx;再找到ril.telephony.mode=# 这里#为一个数字,把这个数字改成官方包里的;至于机型、版本请酌情处理。ui
3、刷机脚本的修改spa
1.修改分区,(参看同平台篇)debug
2.在"set_perm"这一大段找到set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt65xx.so");修改这里的mt65xx。orm
3.移植内核(这里能够用BeyondCompare直接对比修改)server
用boot解包工具把官方boot和要移植的boot解包。这里以6572移植6589为例。
第一步:打开要移植的boot解包后的boot.img-ramdisk,而后从中复制全部文件到官方boot中的boot.img-ramdisk 文件夹中。若是文件存在就跳过,至关于把要移植包boot中多余的文件复制到官方中去。打开官方boot.img-ramdisk文件夹中的init.rc。
①修改default.prop,参照要移植的boot改
②#Create Chip Property
on early_property:ro.hardware=mt6582
setprop ro.mtk.hardware mt6589
on early_property:ro.hardware=mt6589
setprop ro.mtk.hardware mt6589
修改后面两个mt6589,例如,个人cpu是MT6572,那么就这样改 :
#Create Chip Property
on early_property:ro.hardware=mt6582
setprop ro.mtk.hardware mt6572
on early_property:ro.hardware=mt6589
setprop ro.mtk.hardware mt6572
第二步:修改init.rc里的启动项
以移植LewaROM为例(MIUI大同小异,只是后面的lewa-framework.jar是miui-framework.jar而已,其它第三方ROM也差很少,具体看第三方ROM的启动项后面)
复制如下代码(不放心的能够解开要移植包的内核查看):/system/framework/lewa-framwork.jar。把这一句放到每一段的最后,注意不要漏了前面的冒号。
修改好的示例:
on early_property:ro.build.type=user
write /proc/bootprof "INIT: user build setting"
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/lewa-framework.jar
on early_property:ro.build.type=userdebug
write /proc/bootprof "INIT: userdebug build setting"
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar
on early_property:ro.build.type=eng
write /proc/bootprof "INIT: eng build setting"
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/emma.jar:/system/framework/lewa-framework.jar
修改好之后保存文件,而后打包boot.img,搞定!
后面就是打包ROM,而后该干吗干吗。
附:若遇到短信,电话,设置,通信录强行关闭,可经过以下方法修复
1.反编译官方和要移植的包中framework.jar,找到:\smali\com\mediatek,替换官方全部的这个文件夹的内容到移植的ROM中。
2.\smali\com\android\server替换官方全部的这个文件夹的内容到移植的ROM中。修改好后,回编译要移植的ROM的framework.jar,而后替换回去。
下次咱们介绍在移植过程当中常见的问题以及解决办法。