android 刷機ROM結構與編譯製作。

poclist發表於2016-09-17

線刷 與線刷包 : 進入bootloader模式 進行刷機與刷機包

            一般通過編譯官方系統原始碼 與核心原始碼 獲得所需檔案。或者單獨分別編譯CM原始碼也可以。


                            解壓線刷包有  userdata.img     system.img  boot.img   recovery.img  android-info.txt


       編譯android 系統原始碼得到:   userdata.img     system.img   ramdisk.img

      編譯android核心原始碼   得到  bzimage


       將bzimage  ramdisk.img 打包成boot.img      recovery.img與boot.img 類似  可以製作。

                          各種 img 分別有不同工具可以解壓---- 再修改與打包    android-info.txt 用於限制刷機條件。


 將他們打包為.ZIP 檔案  進bootloader     擦除資料  刷機     fastboot -w update  xx.zip


具體指令

進入fastboot  : adb reboot bootloader

清除資料

fastboot erase system
fastboot erase boot
fastboot erase cache
fastboot erase userdata

//  檔案一個一個地刷

fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata data.img

fastboot flash recovery  recovery..img

打包後一起刷:

fastboot -w update  xx.zip

重啟: fastboot reboot


卡刷 卡刷包  :   編譯CM 原始碼直接得到 卡刷包.zip檔案。  編譯官方原始碼 需要 bzimage  ramdisk.img   system資料夾的內容也可以製作卡刷包.ZIP

    recovery 模式  ,與電腦的一鍵還原模式相同       需要先安裝recovery。fastboot flash recovery  recovery.img  很多軟體可以安裝recovery

       然後進入recovery    方法很多 1 手機進入  2  usb連線電腦進入

     在Recovery模式下,首先是進行“雙清”操作,即“消除所有資料”和“消除快取資料”

 卡刷包  結構


(一)、data資料夾:該資料夾可以全刪,點選date裡面是app資料夾

(二)、META-INF資料夾:這個資料夾開啟後是幾個格式未知的軟體,其實可以用文字編輯器開啟,能夠發現是系統軟體和系統資訊,但是不建議更改,沒有必要修改。

                     中間有update_script 更新指令碼     用edify 語言寫的。    update-binary 用於執行update_script
(三)、boot.img檔案:這個img格式的檔案就是“核心”,核心對於刷機包的地位很重要,同樣的核心需要專門的工具看來進行開啟修改,以及反編譯等一些工作,其實我也不懂怎麼修改,所以不涉及了,要提一下的就是有的刷機包無法開啟虛擬記憶體,就是和核心有關係,有時刷一個可以開虛擬的核心進如手機便可以開啟虛擬記憶體,這裡的核心就是指這個東西。由 編譯後的  bzimage  ramdisk.img   打包而成

(四)、system資料夾:這是我們要更改的重點,裡面的內容很豐富,而且注意system資料夾刷機之後便存在於手機,他和手機內的system資料夾是對應的關係,我們在手機內用RE管理器開啟後找到system資料夾,其實就是現在這裡刷機包的system資料夾。

           可以拷貝編譯後 system資料夾的內容  因為完全一樣。


 主要修改system資料夾



相關文章