|
三、一個典型ROM的剖析
我們平時升級的Rom都是打包成適合Recovery方式刷機的包。能夠被Recovery程序識別並處理的包應該有一個固定的格式,我理解的一些重要的約束如下:
1)必須是標準的zip壓縮包;
2)recovery腳本必須存入在META-INFcomgoogleandroidupdate-script;
3)其它的一些證書和簽名信息應該都放在META-INF下。
四、我們有沒有可能自己定制ROM呢
理論上我們是可以自己定制的。
最簡單的定制應該就是拿一個現有的認為還不錯的基礎ROM,替換一些資源,加一些系統自帶程序,然後打包發佈;
再玩高級一點,就應該自己去修改一些系統自帶的程序,如漢化一些系統原始程序;
還玩高級一點,就應該自己到android官方站點去下載android系統的源碼來編譯,並基於系統級的定制和移植了,如現在火熱的android2.0源碼編譯系統移植。
如果是簡單一點的自製ROM,主要應該會要解決如下幾個問題:
1)選定一個比較好和穩定的內核和基礎,就是update.zip包中的哪個boot.img,另外,system目錄中大部分也是直接可用的,就可以作為自定義Rom的基礎。
2)修改系統。例如可以這樣來定制的東西:systemetcapns-conf.xml,這是設置APN接入點的;systemetchosts,這是設置Host文件的,現在有很多人用的包綁定不了GMail,就可以在這個Host文件中增加一條:74.125.93.113 android.clients.google.com (當然,這個地址能用多久也不好說)...還有什麼東西要自己去定制就自己去翻看瞧瞧。
3)Rom的重新打包簽名。前文已經介紹了一個Rom包的基本結構,但完全按照這個結構打包還是不能被Recovery安裝的,因為沒有簽名!Rom簽名可以下載一個自動簽名工具Auto-sign,具體到哪下,請Google。(註:Rom簽名工具需要Java1.6支持,所以系統還得有JRE1.6的環境)。
再往下就有點高深了,目前只留心一下這些基礎的東西,錯誤在所難免,歡迎指正,拍磚輕些。