rom 解析和製作,刷rom包

來源:互聯網
上載者:User

製作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包做簽名,簽名工具可以在:

http://androidforums.com/developer-101/8665-how-signing-roms.html

下載。需要註冊使用者登入才能下載。下載的工具是windows下執行的。

運行:

autosign.bat

第一次需要設定CLASS_PATH,將testsign.jar加進去,設定過程很簡單,首先要輸入2:

然後它會猜你的testsign.jar就在目前的目錄下,因此輸入yes:

然後選擇4,手工輸入需要簽名的ROM路徑,然後輸入yes,就可以了:

簽名過程需要一段時間,需要耐心等待,簽名後並不產生新的檔案,是通過修改原檔案完成的。

原文轉自:http://marshal.easymorse.com/archives/3622

///////////////////////////////////////////////////////////////////////////////////////////////

 第一步:首先我們要有一個ROM.不管是官方還是第三方ROM,都是.zip的壓縮包.如

 第二步:我們開啟壓縮包(已TSM小組做的雙4.0ROM為例),見 我們可以看到,壓縮包內有3個檔案夾外加一個boot.img其中:data檔案夾為應用程式所在的檔案夾,我們直接下載的APK安裝在記憶卡上時,都是安裝在data檔案夾下的,該檔案夾內的程式都可以直接卸載的.meta-info檔案夾為簽名檔案夾,什麼是簽名檔案夾我會在後面的教程寫出來.system為系統程式檔案夾,比如htc sense等一些無法卸載只能用ROOT後用RE刪除的都在這裡,大家應該都不陌生了,我們主要的工作目標都在這個system檔案夾內boot.img這個是核心檔案,勿動. 第三不:我們進入system檔案夾看看. app檔案夾:系統程式檔案都在這裡,我們刪除一些系統內建程式都是用re來這裡刪除,具體不解釋了.如果我們需要精簡自動內建程式,可以直接在壓縮包內選中app檔案夾下的.apk檔案及相應的.odex檔案即可PS:2.3.5的rom沒有.odex檔案,4.0系統引入odex檔案.如果我們想添加一些程式到系統程式內,則直接把.apk及.odex檔案拖到壓縮包內app檔案夾即可.PS:在4.0下,有些程式不把.odex一起放到app檔案夾內,會造成程式無法使用.關於.odex檔案我也還在研究中,就不多說什麼了.bin檔案夾:這裡比較複雜,對於.net程式員,bin檔案夾應該不陌生,我們的dll檔案都在bin裡面,這裡的bin你也可以這麼理解,正常我們不動他,比如busybox就是放在這裡的.customoze:使用者自訂設定的地方,建議沒有xml知識和一定組合語言知識這裡勿動.比如開機畫面,開機音樂甚至包含一些IME切換設定等都可以在這裡修改xml檔案進行修改.etc:不詳...不用動fonts:字型檔夾主要是這兩個   DroidSans.ttf 以及 DroidSansFallback.ttf,其中DroidSans.ttf為英文字型,DroidSansFallback.ttf為中文字型,我們只需要把找到的合適的字型檔修改為這兩個檔案名稱,然後拖到壓縮包內字型檔夾下即可完成字型替代的工作.frameworks:看名字很像是架構結構檔案夾,如我們修改的電池電量顯示都在這裡.正常不動.lib:還在研究.....不動.media:系統內建的鈴聲,簡訊聲等媒體檔案都在這裡了.進入audio檔案夾我們可看到如下檔案夾: alarms:鬧鐘ringstone:來電鈴聲notifications:通知音ui:鎖屏音,觸摸音等系統UI的聲音都在這我們可以把自己喜歡的鈴聲等直接拖到壓縮包相應檔案夾內即可比放在卡內的好處就是,當你掛載手機記憶卡的時候,來電鈴聲等不會恢複預設. tts:多語言支援(應該是)一下還有另外4個檔案夾,我們都不動了....主要修改就在以上. 寫到這裡,大家應該基本瞭解我們應該如何精簡ROM了吧. 下面是一些個人化1:修改開關機畫面及鈴聲進入customize檔案夾---CID---default.xml可以選中default.xml然後點解壓縮,這樣只會解壓出default.xml這一個檔案.使用記事本開啟(本人使用vs2010,都是一樣的)直接在記事本內按ctrl+f,在彈出的尋找視窗裡輸入BootAnimation尋找到如下代碼   
     
  1. <BootConfiguration> 
  2.                 <BootAnimation animation="/system/customize/resource/hTC_bootup.zip" audio="/system/customize/resource/htc_boot.mp3"/> 
  3.         </BootConfiguration> 
  4.         <ShutdownConfiguration> 
  5.                 <ShutdownAnimation image_png="/system/customize/resource/htc_downanimation.zip" image="" fps="10"/> 
  6.         </ShutdownConfiguration> 
其中bootanimaion為開機,我們可通過修改後面animation的內容改變開機畫面(可從別的rom提取壓縮包),audio為開機音樂.HTC預設將開關機的畫面及音樂放在system/customize/resource檔案夾內shutdownanimation為關機,image_png為關機畫面檔案,fps為關機畫面幀數.以上修改不建議修改開關機檔案所放置的位置,我們正常將別的rom提取的開關機畫面的.zip壓縮包直接重新命名後丟到resoource檔案夾下.另外:如果不想要開關機動畫也請勿刪除以上代碼,可以直接將htc_bootup.zip這裡改名為一個不存在的檔案即可.如htc_bootupxxx.zip.default.xml的修改就到此為止,熟悉xml代碼的好好看看這個,可以發現不少好玩的東東哦. 精簡完系統內建檔案,又修改好開關機畫面,現在還差啥?沒錯,就是關於裡面的軟體版本資訊了,如果你看到一個你的軟體版本叫做"刺魂專用",那可是相當刺激的事情 我們進入system檔案下,往最下方看,有沒看到一個build.prop 把buuld.prop單獨解壓出來後用記事本或notepad+開啟(這裡我推薦使用notepad+,可自己下載一個,非常好哦那個,當然,由於本人有vs2010了,所以都用vs2010開啟了)通過ctrl+f尋找ro.build.version.release=4.0.3      (安卓版本,可修改成5.0內測版 )ro.build.sense.version=4.0  (HTC SENSE版本,好吧...你又可以改為5.0內測版了)ro.product.version=TSM UltimeKangBang 3.0.1   (軟體版本,好吧,這裡為刺魂大大萬歲專用版) 主要就說這3個就好了其餘的build.prop的內容可自己慢慢研究,可改的地方很多哦. 最後記得把修改後的build.prop丟回壓縮包覆蓋原始檔案. PS:不同的ROM,這個build.prop的地方也不一樣,比如我原來VC官方RUU提取的rom,build.prop就在根目錄下.system沒找到的其他地方好好找找哦. 如上,當你把以上幾個地方都自行修改完,那麼一個你自製的個人化ROM就出來了.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.