歷趣首頁 手機客戶端

當前位置:歷趣APP下載>資訊>教程>刷機和ROM原理

刷機和ROM原理

時間:2012-01-04 11:37:08瀏覽:500萬+
先了解幾個刷機中常常提到的詞:

什么是Recovery

Recovery是一個在Linux下的系統恢復模式。籠統的說,就是一個刷機的工程界面。如果你裝過系統,你可能知道dos界面或者winPE,安裝了Recovery相當于給系統安了一個dos界面。在recovery界面可以選擇進行刷機,備份,重啟,安裝系統,清空數據,ghost備份系統,恢復系統等等,系統的OTA升級也是通過調用Recovery來進行的。

如何進入Recovery的界面

關機狀態下,按住音量增加鍵和關機鍵,等出現開機畫面時松手,即可進入Recovery(也有少數不一樣)。


什么是Fastboot

Fastboot也是一個刷機界面,不過比Recovery更接近硬件層;當你不能進入Recovery模式的時候,快可以通過此模式挽救,如果Fastboot模式都進不去時那么你的手機就真成磚了。三星進入Fastboot是按住 關機、音量-、音量+三個鍵,俗稱為挖煤模式。





一、刷機原理

刷機就是兩種方法,線刷或者卡刷

卡刷:一般簡單的可以理解為在內存卡中刷機。

過程:
1.將“刷機包.zip”放入到SD卡。
2.關機再進入到recovery界面分別選擇wipe data/factory reset 恢復出廠設置,wipe cache partition 擦除cache(簡稱雙清)
3.在recovery界面再選擇“刷機包.zip”文件刷入。
     
原理:這種方法是調用了recovery的方法將各種img或文件進行復制等操作。

備注:刷機格式都為zip。手機進入recovery的方法不一樣,卡刷需要找個跟自己機型合適的recovery,因為為了保證Rom的可靠性,在安裝程序中都會對一些安裝環境進行一些確定,另外,Recovery程序本身也有一些環境驗證。

        在卡刷刷機的全過程中,如果你的recovery跟ROM都已經OK了的情況下,是不用將數據線跟電腦連接的,所以稱之為卡刷。卡刷的難點就是找到合適的recovery刷入到手機中。recovery刷好后,只是一個利用recovery選擇刷機包的過程。



線刷:可以簡單的理解為用USB線將手機根電腦連接起來,利用電腦軟件幫手機刷機。

過程:

1.手機進入Fastboot 模式。
2.用USB線將電腦跟手機連接起來,安裝驅動,確保刷機工具可以識別到手機。
3.把線刷ROM解壓后,按照指定路徑分別把各個文件刷入到指定位置 

原理:將已有的各分區映象文件(img文件,意義上類似我們對光盤做的映象文件)通過刷機工具直接覆蓋寫到指定分區中。

備注:確保已安裝好驅動;刷入文件路徑正確。

線刷其實是一種比較暴力,也是一種比較通用的刷機方式。這種方式一般都是恢復到的系統。線刷的難點在于安裝驅動,是安裝你的手機進入Fastboot模式的驅動。

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

Recovery方法更簡單,只需要傻瓜式的將update.zip放到SD卡的要目錄下,然后進入Recovery模式選擇刷機包就可以了,但和任何傻瓜式東西一樣,他的靈活度就很小了,而且出錯了也都不知道如何解決。不過最常用的刷機模式就是卡刷。

線刷刷方法更靈活,功能也更強大,fastboot方法不需要依賴于recovery,甚至linux底層刷壞了recovery模式都進不了的情況下也可以通過fastboot方工刷回來。所以線刷方法一般用于救磚,為你的卡刷保駕護航。





二、回頭再來說說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的環境)。

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

熱門APP排行
熱門APP標簽
手機游戲盒子軟件手機視頻播放器軟件手機賺錢軟件手機音樂播放器軟件手機錄屏軟件手機變聲器軟件手機P圖軟件手機聊天軟件手機視頻編輯軟件手機視頻剪輯軟件
熱門手游標簽
手機棋牌游戲手機吃雞游戲手機網易游戲手機打魚游戲手機街機游戲手機牛牛游戲手機奧特曼游戲手機橙光游戲手機賽車游戲手機ACT游戲
熱門APP電腦版
QQ空間電腦版淘寶電腦版汽車之家電腦版嗶哩嗶哩電腦版QQ安全中心電腦版美團外賣商家版電腦版支付寶電腦版快手電腦版拼多多電腦版京東電腦版
熱門電腦軟件
微信電腦版釘釘電腦版UC瀏覽器電腦版美圖秀秀電腦版QQ電腦版企業微信電腦版搜狗輸入法WiFi萬能鑰匙我的世界中國版谷歌瀏覽器
熱門文章
微信昵稱豎著怎么設置 如何設置微信豎排網名QQ郵箱格式怎么寫的 郵箱寫法正確格式抖音最火歌曲2019 2019抖音最火的50首歌王者榮耀名字前面的數字什么意思 王者榮耀名字前面的數字是什么刷寶真的能賺錢嗎 刷寶多少元寶一塊錢?中國銀行外匯牌價 中國銀行報價介紹微信刪除的聊天記錄怎么恢復 微信刪除的聊天記錄如何恢復蘋果手機上的微信聊天記錄怎么恢復 恢復教程夢幻西游手游藏寶閣 夢幻西游手游藏寶閣操作流程及注意事項和平精英靈敏度怎么調最穩 和平精英靈敏度如何調最穩
關注我們
手机彩票软件排名