Android ROM DIY之MTK平台手机通用移植 (续)

上次我们在《Android ROM DIY之MTK平台手机通用移植》中讨论了MTK芯片手机同平台移植的方法,那么今天我们就谈谈跨CPU平台的移植,以MT6582移植MT6572为例。实际上大致步骤都差不多,只是还需要注意更多的细节。

一、准备ROM

参看同平台篇

Android ROM DIY之MTK平台手机通用移植(同平台篇)http://www.morecomtech.com/community/article/sjjc/w2015102700.php

二、build.prop修改

打开移植包的build.prop,找到ro.mediatek.platform=MT65xx,修改这个MT65xx;再找到ril.telephony.mode=# 这里#为一个数字,把这个数字改为官方包里的;至于机型、版本请酌情处理。

三、刷机脚本的修改

1.修改分区,(参看同平台篇)

2.在"set_perm"这一大段找到set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt65xx.so");修改这里的mt65xx。

3.移植内核(这里可以用BeyondCompare直接对比修改)

用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,然后替换回去。

 

下次我们介绍在移植过程中常见的问题以及解决办法。

你可能感兴趣的:(Android ROM DIY之MTK平台手机通用移植 (续))