精品久久亚洲_69pao在线成人免费视频_黄色三级网络_亚洲国产精品激情在线观看

您的位置: 首頁 > 使用教學

ROM刷機原理及ROM制作技術初探

使用教學 時間:2010-05-06 作者/發布人:pc354 點擊:2763

這一段時間刷了一堆ROM,安卓系列、CM、Hero、OldMos、隔壁新出的Android2.0,反正都嘗了一下鮮,手機的照相機也刷得再也啟不來了(不知道什么原因,杯具)。有話說:"久病成良醫",想我們折騰了這么久的刷機,也得總結總結不是,小弟不才,遠沒成"良醫",但還是想把自己的一些認識和心得寫出來,以期拋磚引玉...

一、刷機原理

記得第一次刷機,哪個心理緊張啊。其實緊張什么呢?就是因為不明白原理啊,只看到一堆的教程來依葫蘆畫瓢,生怕錯了一步將手機變磚。真正使我對刷機原理有一些理解的是看了這一篇文章:點擊查看

說起來,刷機就是兩種方法:

一是recovery方法,就是我們平時將update.zip入到SD卡,然后alt-s的方法,這種方法是調用了recovery的方法將各種img或文件進行復制等操作。想了解recovery的工作原理嗎?我也沒找到好的資料,就在這看了看recovery的一些源碼:點擊查看

二是fastboot方法,這個方法其實是比較酷的方法,說白點,fastboot就是將已有的各分區映象文件(img文件,意義上類似我們對光盤做的映象文件)直接覆蓋寫到指定分區中,有點暴力,也有點類似我們平時操作系統的Ghost還原。

這兩種方法哪種更好,這就不好比高低了,總的來說:

Recovery方法更簡單,只需要傻瓜式的將update.zip放到SD卡的要目錄下,然后進入Recovery模式alt-s就可以了,但和任何傻瓜式東西一樣,他的靈活度就很小了,而且出錯了也都不知道如何解決。一般來說做Rom的高手為了保證Rom的可靠性,在安裝程序中都會對一些安裝環境進行一些確定,而各位的手機環境又是千變萬化的,Rom高手也很難考慮周全,另外,Recovery程序本身也有一些環境驗證。

fastboot方法更靈活,功能也更強大,fastboot方法不需要依賴于recovery,甚至linux底層刷壞了recovery模式都進不了的情況下也可以通過fastboot方工刷回來。fastboot模式其實是調用spl進行刷機的,所以如果刷spl壞了,fastboot模式應該也進不了,也就是磚了。fastboot方法需要各位電腦上有fastboot程序,同時手機要進入fastboot模式才可以操作,關于這些知識,請參見Google *^_^*

二、回頭再來說說Android系統中的各分區(可能分區這個說法不太準確)

我了解到的Android系統中的分區有:

hboot(我們刷的SPL就是這玩意),這個分區是最基本的引導分區(類似電腦中的BIOS),這個區壞了,差不多就變磚了,所以我們刷SPL時才要如此小心啊。

boot,這個分區應該是linux操作系統的引導分區。

radio,這個分區是手機的一些底層設備相關的驅動或功能程序吧,如打電話和發短信等,不同的系統版本會有不同的radio配套,我們平時刷了高版本的ROM后,如果不刷高版本的Radio就有可能導致打電話不正常之類的。

recovery,這個分區裝的就是前面提到的recovery程序了,這個刷不同的recovery版本可以帶來不同的功能,有興趣的同學可以基于recovery的源碼自己編譯出一個自己的recovery出來。但一般來說,刷recovery最主要的就是提Root權限。

system,是一般發布的ROM的主要功能程序分區了,我們說的ROM功能和自帶程序的定制應該就是基于這個分區的修改和編譯了。

userdata,用戶數據,不說了。

cache,緩存,一般是用來OTA升級時的緩存,我們說刷SPL可以增加程序區的空間大小就是主要將這個區的大小縮水了然后加大了程序區的分區大小。

三、一個典型ROM的剖析

我們平時升級的Rom都是打包成適合Recovery方式刷機的包。能夠被Recovery程序識別并處理的包應該有一個固定的格式,我理解的一些重要的約束如下:

1)必須是標準的zip壓縮包;

2)recovery腳本必須存入在META-INF\com\google\android\update-script;

3)其它的一些證書和簽名信息應該都放在\META-INF\下。

四、我們有沒有可能自己定制ROM呢

理論上我們是可以自己定制的。

最簡單的定制應該就是拿一個現有的認為還不錯的基礎ROM,替換一些資源,加一些系統自帶程序,然后打包發布;

再玩高級一點,就應該自己去修改一些系統自帶的程序,如漢化一些系統原始程序;

還玩高級一點,就應該自己到android官方站點去下載android系統的源碼來編譯,并基于系統級的定制和移植了,如現在火熱的android2.0源碼編譯系統移植。

如果是簡單一點的自制ROM,主要應該會要解決如下幾個問題:

1)選定一個比較好和穩定的內核和基礎,就是update.zip包中的哪個boot.img,另外,system目錄中大部分也是直接可用的,就可以作為自定義Rom的基礎。

2)修改系統。例如可以這樣來定制的東西:system\etc\apns-conf.xml,這是設置APN接入點的;system\etc\hosts,這是設置Host文件的,現在有很多人用的包綁定不了GMail,就可以在這個Host文件中增加一條:74.125.93.113 android.clients.google.com (當然,這個地址能用多久也不好說)...還有什么東西要自己去定制就自己去翻看瞧瞧。

3)Rom的重新打包簽名。前文已經介紹了一個Rom包的基本結構,但完全按照這個結構打包還是不能被Recovery安裝的,因為沒有簽名!Rom簽名可以下載一個自動簽名工具Auto-sign,具體到哪下,請Google。(注:Rom簽名工具需要Java1.6支持,所以系統還得有JRE1.6的環境)。

再往下就有點高深了,目前只留心一下這些基礎的東西,錯誤在所難免,歡迎指正,拍磚輕些。

原文作者: happylo

轉自91手機網,原文地址:

三、一個典型ROM的剖析

我們平時升級的Rom都是打包成適合Recovery方式刷機的包。能夠被Recovery程序識別并處理的包應該有一個固定的格式,我理解的一些重要的約束如下:

1)必須是標準的zip壓縮包;

2)recovery腳本必須存入在META-INF\com\google\android\update-script;

3)其它的一些證書和簽名信息應該都放在\META-INF\下。

四、我們有沒有可能自己定制ROM呢

理論上我們是可以自己定制的。

最簡單的定制應該就是拿一個現有的認為還不錯的基礎ROM,替換一些資源,加一些系統自帶程序,然后打包發布;

再玩高級一點,就應該自己去修改一些系統自帶的程序,如漢化一些系統原始程序;

還玩高級一點,就應該自己到android官方站點去下載android系統的源碼來編譯,并基于系統級的定制和移植了,如現在火熱的android2.0源碼編譯系統移植。

如果是簡單一點的自制ROM,主要應該會要解決如下幾個問題:

1)選定一個比較好和穩定的內核和基礎,就是update.zip包中的哪個boot.img,另外,system目錄中大部分也是直接可用的,就可以作為自定義Rom的基礎。

2)修改系統。例如可以這樣來定制的東西:system\etc\apns-conf.xml,這是設置APN接入點的;system\etc\hosts,這是設置Host文件的,現在有很多人用的包綁定不了GMail,就可以在這個Host文件中增加一條:74.125.93.113 android.clients.google.com (當然,這個地址能用多久也不好說)...還有什么東西要自己去定制就自己去翻看瞧瞧。

3)Rom的重新打包簽名。前文已經介紹了一個Rom包的基本結構,但完全按照這個結構打包還是不能被Recovery安裝的,因為沒有簽名!Rom簽名可以下載一個自動簽名工具Auto-sign,具體到哪下,請Google。(注:Rom簽名工具需要Java1.6支持,所以系統還得有JRE1.6的環境)。

再往下就有點高深了,目前只留心一下這些基礎的東西,錯誤在所難免,歡迎指正,拍磚輕些。

原文作者: happylo

轉自91手機網,原文地址:

三、一個典型ROM的剖析

我們平時升級的Rom都是打包成適合Recovery方式刷機的包。能夠被Recovery程序識別并處理的包應該有一個固定的格式,我理解的一些重要的約束如下:

1)必須是標準的zip壓縮包;

2)recovery腳本必須存入在META-INF\com\google\android\update-script;

3)其它的一些證書和簽名信息應該都放在\META-INF\下。

四、我們有沒有可能自己定制ROM呢

理論上我們是可以自己定制的。

最簡單的定制應該就是拿一個現有的認為還不錯的基礎ROM,替換一些資源,加一些系統自帶程序,然后打包發布;

再玩高級一點,就應該自己去修改一些系統自帶的程序,如漢化一些系統原始程序;

還玩高級一點,就應該自己到android官方站點去下載android系統的源碼來編譯,并基于系統級的定制和移植了,如現在火熱的android2.0源碼編譯系統移植。

如果是簡單一點的自制ROM,主要應該會要解決如下幾個問題:

1)選定一個比較好和穩定的內核和基礎,就是update.zip包中的哪個boot.img,另外,system目錄中大部分也是直接可用的,就可以作為自定義Rom的基礎。

2)修改系統。例如可以這樣來定制的東西:system\etc\apns-conf.xml,這是設置APN接入點的;system\etc\hosts,這是設置Host文件的,現在有很多人用的包綁定不了GMail,就可以在這個Host文件中增加一條:74.125.93.113 android.clients.google.com (當然,這個地址能用多久也不好說)...還有什么東西要自己去定制就自己去翻看瞧瞧。

3)Rom的重新打包簽名。前文已經介紹了一個Rom包的基本結構,但完全按照這個結構打包還是不能被Recovery安裝的,因為沒有簽名!Rom簽名可以下載一個自動簽名工具Auto-sign,具體到哪下,請Google。(注:Rom簽名工具需要Java1.6支持,所以系統還得有JRE1.6的環境)。

再往下就有點高深了,目前只留心一下這些基礎的東西,錯誤在所難免,歡迎指正,拍磚輕些。

原文作者: happylo

轉自91手機網,原文地址:http://android.sj.91.com/content/2010-03-19/20100319022627344,1.shtml

--------------------------全文完----------------------------
0% (0)
0% (0)
整站字母快速檢索: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0

綜合報道 經濟形勢 勞動就業 政策法規 熱點推薦 創業新聞 創業指導 創業課堂 創業故事 大學生創業 | 裝修日記 | 學駕駛經歷 | 免費信息發布 | 網站地圖

地址:合肥市臨泉路香格里拉花園 郵箱:pc354@163.com QQ:55769640 | 皖ICP備06007228號 
版權所有:科杰服務(www.www.yeewaa.com) 建議使用IE7.0或以上版本,最少1280分辨率瀏覽本站,可獲得最佳瀏覽效果

飛到頂部