制作Android ROM有兩種方法:
編譯Android源代碼的方法,這個比較複雜,以後再介紹;
在已有的ROM基礎上制作或者叫定制自己的ROM。
本文介紹的是在已有ROM基礎上的定制步驟。
我這裡使用的機器是Nexus One,于是下載下傳了第三方的ROM,這裡以安卓農夫ROM 2.4為基礎。當然也可以用CyanogenMod提供的ROM,實際上安卓農夫的ROM就是在該ROM基礎上做的定制。
解壓縮ROM,比如安卓農夫ROM 2.4檔案名為:
n1_2.4_signed 2.zip
解壓縮後,可以看到目錄中:
boot.img檔案,這是系統的鏡像,包括Linux核心以及系統啟動的一些基本檔案。
META-INF目錄,這裡主要有系統更新腳本,路徑是:META-INF/com/google/android/updater-script
system/app目錄,系統自帶的應用程式都放在這個目錄下,比如月曆、聯系人、gmail等,你可以把自己的apk檔案放在該目錄下,這樣就可以在刷ROM的時候直接安裝上
system/bin目錄,系統指令,可以通過adb shell登入後執行,比如top
system/etc目錄,類似linux的/etc目錄
system/font目錄,字型
system/framework目錄,android架構,是java實作,在dalvik虛拟機下支援使用者java開發的架構
system/lib目錄,android本地共享庫,都是so檔案,是c、c++編譯的本地共享庫
system/media目錄,一些媒體檔案,比如bootanimation.zip,壓縮包裡面是一些png圖,用于開機動畫,替代這些可以改變開機畫面,audio目錄下是一些聲音檔案,用于鈴聲和通知等
其實,本文介紹的定制ROM主要步驟是如何将解開的ROM打包簽名,如果隻是打包回zip,android是不認的,recovery的時候會在校驗ROM包的時候報錯。
在将自定義的apk檔案放在system/app目錄下後,還可以改動比如開機畫面,增加自定義鈴聲,增加指令(在system/bin下)等,然後還是要打包回zip檔案。
然後,需要使用簽名工具對zip包做簽名,簽名工具可以在:
<a href="http://androidforums.com/developer-101/8665-how-signing-roms.html">http://androidforums.com/developer-101/8665-how-signing-roms.html</a>
下載下傳。需要注冊使用者登入才能下載下傳。下載下傳的工具是windows下執行的。
運作:
autosign.bat
第一次需要設定CLASS_PATH,将testsign.jar加進去,設定過程很簡單,首先要輸入2:
<a href="http://marshal.easymorse.com/wp-content/uploads/2010/11/image14.png"></a>
然後它會猜你的testsign.jar就在目前目錄下,是以輸入yes:
<a href="http://marshal.easymorse.com/wp-content/uploads/2010/11/image15.png"></a>
然後選擇4,手工輸入需要簽名的ROM路徑,然後輸入yes,就可以了:
<a href="http://marshal.easymorse.com/wp-content/uploads/2010/11/image16.png"></a>
簽名過程需要一段時間,需要耐心等待,簽名後并不生成新的檔案,是通過修改原檔案完成的。