本帖最后由 山陰路的夏天 于 2018-3-1 15:19 編輯
要定制自已 ROM 首先要從官方原生 ROM 提取 system.img system.img 這個(gè)系統(tǒng)文件解包并打包成 update.zip 的形式用來(lái)刷機(jī),update.zip 制作步驟: 一、準(zhǔn)備工作: 1、提取 system.img ,具體方法見(jiàn): 提取到后,把 system.img 放到你的 linux 操作 環(huán)境可以訪問(wèn)的某個(gè)文件夾,例如 system/system.img ,盡量把文件夾命名成 system ,以 后就不用修改壓縮包了(Linux 的路徑書(shū)寫(xiě)方式,這里需要提示一點(diǎn),Linux 終端是對(duì)大小 寫(xiě)敏感的,請(qǐng)注意。 ) 2、 Linux 操作環(huán)境 (任意的, 例如: 虛擬機(jī)安裝、 虛擬機(jī) LiveCD、 實(shí)機(jī)安裝、 實(shí)機(jī) LiveCD 等等,不在本教程討論范圍) 3、img 解包工具 unyaffs.zip (自己百度下載)下載并解壓縮。
二、解包 system.img 文件 1、啟動(dòng) Linux 并以 root 用戶(hù)登錄(如何用 root 登錄,自己在網(wǎng)上搜索一下吧) ,把剛 才解壓的 unyaffs 復(fù)制到 /bin 文件夾下 2、 啟動(dòng)終端, 進(jìn)入 /bin 文件夾 (cd /bin) 輸入如下命令 sudo chmod 777 unyaffs (賦予 unyaffs 執(zhí)行權(quán)限) :
3、 進(jìn)入剛才存放 system.img 文件夾, (例如我的是/media/Soft/system/ 這里的 media ( 是掛載的硬盤(pán)分區(qū),Soft 是硬盤(pán)分區(qū)卷標(biāo)(我的是 F 盤(pán)) )里,執(zhí)行命令 unyaffs system.img (解包 img 的命令行) ,直到屏幕顯示:
4、進(jìn)入 system 文件夾刪除 system.img 文件
5、在終端命令行狀態(tài)下輸入命令 sudo chmod -R 777 * (為 system 文件夾下所有目 錄和文件賦予最高權(quán)限) :
三、打包最原始的 update.zip
1、在終端命令行狀態(tài)下輸入命令返回 system 的上一級(jí)目錄(父目錄) ,如下圖
2、在終端命令行下執(zhí)行 zip -r system.zip system(把 system 文件夾打包成 zip 文件)
3、把 system.zip 文件夾重命名為 update.zip 備用,system 文件可以刪除了(如果以后 需要從這里提取原機(jī)程序,是可以保留的)
四、修改 update.zip 為可刷機(jī)的 ROM 包 1、重新啟動(dòng)計(jì)算機(jī),進(jìn)入 windows 操作系統(tǒng) 2、這里我們需要兩個(gè)東東:① 刷機(jī)腳本 ② 內(nèi)核(boot.img) 。其中刷機(jī)腳本可以從其 他大俠的 rom 里提取, (提取整個(gè) META-INF 文件夾)這里就不再贅述,下面會(huì)提供一個(gè)最 基本的 (詳細(xì)的刷機(jī)腳本命令正在研究, 這個(gè)需要看 Recovery 的源代碼來(lái)確定)boot.img(必須適用你的機(jī)型) 提取官方原生(RUU/.exe)ROM 刷機(jī)文件 教程中在那個(gè)壓縮文件里就有, 在 也可以從大俠們的 rom 里提取。 基本的升級(jí)腳本 update-script 代碼 show_progress 0.1 0 format SYSTEM: copy_dir PACKAGE:system SYSTEM: show_progress 0.2 0 format BOOT: write_raw_image PACKAGE:boot.img BOOT: show_progress 0.2 10 其中 show_progreess x.x x 是在刷機(jī)的時(shí)候顯示進(jìn)度的 format SYSTEM:是格式化 system 用的 copy_dir PACKAGE:system SYSTEM: 是把升級(jí)包里的 system 文件夾復(fù)制到 system 分區(qū) write_raw_image PACKAGE:boot.img BOOT: 刷寫(xiě)包內(nèi)的 boot.img(內(nèi)核的) 具體詳細(xì)的代碼請(qǐng)參照一定定制的刷機(jī)包中的相同文件,這里不在贅述(主要是沒(méi)有吃透,害怕出錯(cuò))
3、準(zhǔn)備好了 update.zip、META-INF 文件夾 boot.img 內(nèi)核映象,就可以開(kāi)始了,用 winrar 打開(kāi) update.zip 文件(不是解壓縮) ,把 META-INF boot.img 直接拖進(jìn)壓縮包里,然后用簽 名工具對(duì)新的 update.zip 簽名就可以了。
4、簽名工具下載:
Rom-sign.rar (自己百度下載)
簽名方法: 把下載的 Rom-sign 解壓, 把新的 update.zip 文件放到該文件夾, 運(yùn)行 Sign.bat 批處理文件就可以了(這里需要注意的是,zip 文件的文件名必須為 update.zip)等待批處理 運(yùn)行完畢后,該目錄下會(huì)生成已經(jīng)簽名的 update_signed.zip。
定制自己的 update.zip 刷機(jī)包完成!
1,固件精減、添加 APK 軟件 將 system.img 解包,解包后將../system/app 目錄下的不需要的 APK 文件進(jìn)行刪除、 修改、替換,以制作適合自己的固件包,對(duì)于 app 目錄內(nèi)不清楚用途的 APK 文件,請(qǐng)勿隨 意刪除,以免引起不必要的問(wèn)題。 注意:據(jù)說(shuō)個(gè)別 APK 軟件需自帶的庫(kù)文件支持才能正常運(yùn)行,此時(shí)可用 WinRAR 等壓
縮軟件將 APK 文件打開(kāi)(將.apk 后綴改成.zip,然后用壓縮軟件打開(kāi)即可) ,從里邊找到后 綴為.so 的文件,然后放入../system/lib 文件夾下即可。 修改完成后,然后進(jìn)行打包、升級(jí)、測(cè)試。
2,美化界面 這個(gè)又涉及到 APK 文件的修改了,這部分的教程就不作過(guò)多的介紹了,有需要的 同鞋可以上網(wǎng)去 Google 下相關(guān)資料,大把的教程可供參考。 將 system.img 進(jìn) 行 解 包 , 解 包 后 在 ../system/framework 文 件 夾 下 找 到 framework-res.apk,將.APK 后綴改名為.zip,然后將其中的 assets、res 兩個(gè)文件夾解壓出 來(lái)開(kāi)始我們的美化工作。 要注意修改后的圖片分辨率大小和圖片格式要與原來(lái)保持一致, 否 則會(huì)出錯(cuò)的哦。 A.界面美化 找到解壓后的下列兩個(gè)目錄,這兩個(gè)目錄存放所有界面的系統(tǒng)圖標(biāo),可對(duì)需要修改的 界面小圖標(biāo)進(jìn)行美化: ../framework-res/res/drawable ../framework-res/res/drawable-land B.修改開(kāi)機(jī) LOGO(Android 啟動(dòng)時(shí),出現(xiàn)閃動(dòng)的 ANDROID 字樣的動(dòng)畫(huà)圖片) Android 的系統(tǒng)登錄動(dòng)畫(huà)類(lèi)似于 Windows 系統(tǒng)的滾動(dòng)條,是由前景和背景兩張 PNG 圖 片組成, 這兩張圖片也是位于../system/framework/framework-res.apk 文件當(dāng)中。 前景圖片 (android-logo-mask.png) 上的 Android 文字部分鏤空, 背景圖片 (android-logo-shine.png) 則是簡(jiǎn)單的紋理。系統(tǒng)登錄時(shí),前景圖片在最上層顯示,程序代碼控制背景圖片連續(xù)滾動(dòng), 透過(guò)前景圖片文字鏤空部 分滾動(dòng)顯示背景紋理,從而實(shí)現(xiàn)動(dòng)畫(huà)效果。以相同的原理修改或 替換下面兩張圖片即可達(dá)到目的。 ../framework-res/assets/images/android-logo-mask.png ../framework-res/assets/images/android-logo-shine.png android-logo-mask.png :Android 默認(rèn)的前景圖片,文字部分鏤空,大小256×64 android-logo-shine.png :Android 默認(rèn)的背景圖片,有動(dòng)感效果,大小512×64 美化完成后,將修改過(guò)的圖片替換掉 APK 文件中相應(yīng)的文件,然后將 APK 文件中 META-INF 文件夾內(nèi)的 CERT.SF、CERT.RSA 兩個(gè)文件刪除,然后用簽名工具重新簽名。再將 簽名后的 APK 文件替換掉原先的文件,之后重新打包成 system.img 并用工具升級(jí)即可。 3,桌面美化 感覺(jué)桌面默認(rèn)的公版壁紙、搜索條、快捷鍵等圖標(biāo)太難看?沒(méi)問(wèn)題,把它都換了吧。 將 system.img 進(jìn)行解包,解包后在../system/app 文件夾下找到 Launcher.apk, 將.APK 后綴改名為.zip,然后將其中的 res 文件夾解壓出來(lái),將需要美化的圖片進(jìn)行美化、替換, 修改好后按照上面的方法將文件替換、簽名、打包再升級(jí)即可
4.字體更改 ../system/fonts 字庫(kù)目錄 用 ROOT 管理器 找到適合大小的字庫(kù)放進(jìn)去(英文或者拼音命名) 格式是 TTF 的哦
其他的大家繼續(xù)發(fā)揮啦 我只是給點(diǎn)提示 如果你不會(huì)改的還需要多多補(bǔ)補(bǔ)知識(shí) 或者不要亂改喔;我也剛剛研究,本文也是從百度借鑒過(guò)來(lái)的,有不對(duì)的地方請(qǐng)指出,謝謝~
|