Android ROM DIY之MTK平臺手機通用移植 (續)

上次咱們在《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,而後替換回去。

 

下次咱們介紹在移植過程當中常見的問題以及解決辦法。

相關文章
相關標籤/搜索