1. 程式人生 > >a20android映象打包解包

a20android映象打包解包

參考網址:

A20平臺提供android檔案系統編譯環境修改一次都要編譯好幾分鐘,所以想了一個比較快的修改檔案系統的方法,那就是對已經生成的映象進行解包à修改à打包。

Windows 環境

官方工具有DragonFace,這是一個Windows平臺的軟體,使用起來非常的方便。在軟體介面上直接可以修改一些常用的引數,app等。有一些軟體介面沒有的引數怎麼辦呢?當載入了一個映象後會在DragonFace軟體的安裝目錄下的fsop顯示映象的解包內容


這時就可以手動修改裡面的各種引數,檔案等,修改完後點DragonFace軟體儲存就可以了(注意這樣修改的話,修改的東西並不會馬上在DragonFace介面上顯示你的修改,但實際上是修改成功了的,儲存後再次載入就能看到了)

Linux環境

使用的工具有imgRePacker(解包整個映象)這個工具要自己下載,下面是連結:https://forum.xda-developers.com/showpost.php?p=28329544&postcount=1 ,以下兩個工具是安卓原始碼自帶工具 ,在/android/out/host/linux-x86/bin目錄下,simg2img(把system.fex轉換為ext4檔案系統映象), make_ext4fs(生成ext4 格式system.img映象)

1.   解包,”imgrepacker  xxx.img”會在當前目錄生成xxx.img.dump目錄,進入該目錄就是解包的內容,裡面有個一system.fex,其實就是system.img,只不過儲存的格式不同

2.   system.fex轉為ext4的格式,”simg2imgsystem.fex system.ext4”,會在當前目錄生成system.ext4檔案,

3.   掛載,先”mkdir new_system”建立掛載目錄,”sudo mount -t ext4 -o loop system.ext4 new_system”會在system.ext4內容掛載出來到new_system資料夾

4.   修改,在new_system裡找到想要修改的內容並修改

5.   生成新映象” sudomake_ext4fs -s -l 512M -a system system.img new_system/

 ”

6.   取消掛載,”umount  new_system”

7.   替換system.fex, “cp system.img system.fex”

8.   刪除new_system,system.ext4

9.   打包映象,”imgrepacker xxx.img.dump/”,xxx.img就是映象名

Ps: 其實windows下的工具已經夠用了,而且很方便,linux下的解包只是驗證一下,一般會使用windows下的工具,