步驟方法
- 找相近機(jī)型
找相近機(jī)型主要是為我們移植rom節(jié)省功夫,因?yàn)橄嘟鼨C(jī)型的rom大部分驅(qū)動(dòng)都是相同的,比如和小編用的G22相近的機(jī)型有G14、G18、One S,然后我選擇的是G14的ROM,為什么?因?yàn)镚14與G22的硬件配置最相似,比如CPU是同型號(hào)的,分辨率也是一樣的,連攝像頭像素都一樣,所以為G22移植ROM,找G14機(jī)型的rom是首選。機(jī)友們認(rèn)真分析之后可以找到合適的吧。 - 移植boot.img
移植安卓rom首先要移植boot.img,這里我只說(shuō)一下要重點(diǎn)修改boot.img里面的內(nèi)容,此外怎么解包和打包boot.img就不在這里談及了,網(wǎng)上有很多教程,多用搜索功能。我推薦用廚房軟件解包boot.img,解包boot.img后有BOOT-EXTRACTED文件夾,BOOT-EXTRACTED文件夾里面有boot.img-ramdisk文件夾和zImage內(nèi)核,我們找到boot.img-ramdisk文件夾里面的init.rc文件,移植boot.img全部就在init.rc文件,init.rc文件我理解就是一個(gè)啟動(dòng)文件,我們開(kāi)機(jī)后通過(guò)init.rc文件啟動(dòng)系統(tǒng)。好,現(xiàn)在我們用文本編輯打開(kāi)init.rc文件,找到export BOOTCLASSPATH這一項(xiàng),這一項(xiàng)后面就是啟動(dòng)系統(tǒng)的相關(guān)項(xiàng)目,不同機(jī)型不同系統(tǒng)這一項(xiàng)啟動(dòng)內(nèi)容都不一樣,那么我們?cè)趺葱薷倪@個(gè)呢?很簡(jiǎn)單,比如我們解包G14的sense4的rom,找到G14的內(nèi)核boot.img,然后解包G14的boot.img,找到init.rc文件,然后用文本打開(kāi)將export BOOTCLASSPATH這一項(xiàng)后面的內(nèi)容全部復(fù)制,然后再到22的init.rc,把export BOOTCLASSPATH這一項(xiàng)的內(nèi)容復(fù)制上去,簡(jiǎn)單的說(shuō)就是將G11的啟動(dòng)內(nèi)容復(fù)制到G22的啟動(dòng)內(nèi)容上,到這里,boot.img的移植就完成了,最后將G22的boot.img打包回來(lái)。 - 修改rom包刷機(jī)腳本
我們知道recovery刷機(jī)包都是zip格式的,所以我們完全可以解壓修改后再打包回來(lái),完全沒(méi)有問(wèn)題。比如我們下載G14的一個(gè)XUI的官方ROM,解包后里面有META-INF文件夾,有system系統(tǒng)文件夾,有boot.img內(nèi)核文件,我們只要修改META-INF文件夾,META-INF里面都是刷機(jī)腳本文件,操作如下:
\META-INF\CERT.RSA 簽名文件 刪掉
\META-INF\CERT.SF 簽名文件 刪掉
\META-INF\MANIFEST.MF 簽名文件 刪掉
\META-INF\com\android 機(jī)型驗(yàn)證文件夾 整個(gè)刪掉
\META-INF\com\google\android\ update-binary 刷機(jī)命令程序 保留
\META-INF\com\google\android\ updater-script 刷機(jī)腳本 需要修改
修改updater-script如下:
用文本打開(kāi)updater-script,刪除以下兩行機(jī)型驗(yàn)證
assert(getprop("ro.product.device")== "ruby" ||
getprop("ro.build.product") == "ruby");
將mount("ext4","EMMC", "/dev/block/mmcblk0p23", "/data");
改為mount("ext4", "EMMC", "/dev/block/mmcblk0p31","/data");
修改好保存updater-script
注意上面的紅色數(shù)字改成你data分區(qū)的分區(qū)表的代碼。紅色數(shù)字每個(gè)機(jī)型特定,如果錯(cuò)誤,ROM直接就不能刷了。如何查看分區(qū)表信息,可以直接找度受。或者等小編后續(xù)的教程。
- 替換boot.img
將修改好的G22的boot.img(不會(huì)修改boot的機(jī)油可以直接用相同UI的ROM的boot.img)替換到G14的XUI官方ROM里面 - 簽名打包
重新打包ROM為zip格式,然后拿去刷機(jī)吧,按照上面過(guò)程操作,這個(gè)rom完全可以開(kāi)機(jī)進(jìn)入系統(tǒng)的。
不過(guò)進(jìn)入系統(tǒng)之后你會(huì)發(fā)現(xiàn)完全不能使用啊,各種進(jìn)程停止。因?yàn)楹?jiǎn)單替換boot.img,雖然可以進(jìn)入系統(tǒng),但是由于驅(qū)動(dòng)或配置不同,還是存在很多bug的,比如開(kāi)機(jī)后不能識(shí)別內(nèi)存卡,usb不能掛載內(nèi)存卡,wifi不能用,wifi熱點(diǎn)不能用,GPS不能用,重力感應(yīng)不能用,聲音有問(wèn)題等等。這些都會(huì)在后續(xù)的教程中間一一解決,盡量使我們的ROM更完美。