在以前的文章中,咱們討論過ROM刷機原理,修改ROM包以及如何讓ROM包獲取root權限。那麼接下來,咱們談談MTK平臺手機ROM移植的話題。若是你是ROM小白,那麼建議能夠先看看以前的文章。php
ROM刷機原理:http://www.morecomtech.com/community/article/sjjc/w2015090005.phpandroid
修改ROM包:http://www.morecomtech.com/community/article/sjjc/w2015102300.phpweb
ROM包獲取root權限:http://www.morecomtech.com/community/article/sjjc/w2015102000.php編輯器
好了請注意:下面的教程只適用於MTK芯片手機,而且理論上只能同安卓版本相互移植,例如4.1移植4.1,4.2移植4.2。建議選取分辨率相近的機器,避免部分錯位和不開機狀況。工具
咱們今天先討論同平臺移植(例如MTK65××相互移植)測試
1、準備ROM優化
1.把官方ROM和要移植的ROM解壓。ui
2.從你的官方系統中提取如下文件(建議整合一下,方便之後更屢次的移植),須要替換的文件夾有:google
system/vendor/lib/spa
system/usr/keychars和keylayout兩個文件夾(觸屏和按鍵配置)
system/lib/modules/【常規】
system/lib/hw/(傳感器)
system/lib/cam開頭的.so(這裏呢,個人習慣是先替換libcameracustom.so,若是相機出了問題再替換其它的)
system/lib/audio開頭的.so(這裏一般我也只替換libaudio.primary.default.so)
system/etc/firmware/(基帶)【必須】
system/etc/mddb/
system/etc/vold.fstab(掛載分區位置,自行調換)
system/etc/bluetooth(如出現藍牙問題請替換)
system/etc/wifi(wifi問題請替換)
2、刷機腳本的修改
用編輯器(如notepad++)打開要移植的ROM中META-INF/google/android/updater-script
1.若是腳本開頭有驗證機型,例如assert(getprop(「ro.product.device」)== 「**x」 || getprop(「ro.product.product」) ==「**xx」)。這是驗證機型的代碼。沒有則無視,有則刪除也能夠修改爲本身的機器名稱。
2.找到format(".......。只須要修mmcblk0p#這裏的#是一個數字,修改這個數字爲跟官方包相同的,mount("...這句也相同。例如:這是要移植的ROM中的刷機腳本的部份內容:
format("ext4", "EMMC", "/dev/block/mmcblk0p5", "0", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p5", "/system");
這是官方包中刷機腳本的部份內容
format("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
那麼,你只需把要移植的ROM中的刷機腳本中的mmcblk0p5改成mmcblk0p3。注意,若是沒有基礎,請不要直接把官方ROM中刷機腳本的整個內容替換到要移植的ROM的腳本中去。
3、build.prop修改
此爲優化配置文件,要優化的請在此優化,具體請在網上查。
ril.telephony.mode=# 這裏#爲一個數字,把這個數字改成官方包裏的。至於機型、版本,能夠不改。
4、boot.img部分
這裏呢,有一鍵移植boot工具,網上就能夠找到,用工具移植一下boot.img就OK了。後面有時間也能夠談談手動修改boot.img。
5、打包
把上面三個打包成zip格式的壓縮包。若是移植包目錄除了/system,data/,/META-INF,boot.img還有一些其它文件,好比lk.bin,logo.img,或者logo.bin等等,這一部分文件能夠用官方rom裏的文件替換。若是官方rom裏沒有那些文件,那麼就在刷機腳本boot.img那一段把響應文件刷入部分的腳本刪除就OK了。有經驗的童鞋能夠自行刪除不想要的文件。
下面是壓縮文件時應選擇的配置:壓縮格式: ZIP,壓縮方式: 標準
6、簽名
網上下載簽名工具,簽名之後就OK了。
到這裏就基本完成了。而後就是刷入測試了,祝你成功!咱們下一次討論。