有的官方包用的是.img.ext4格式帘撰,要用Linux解包
以下用Ubuntu做例子講解打包解包方法
也可以用相同的原理修改EXT4文件系統(tǒng)的.img
1.需要:
Ubuntu操作系統(tǒng)
http://www.ubuntu.org.cn/download/desktop
解打包工具 – by xiao1u
使用搜索引擎搜索關(guān)鍵詞“make_ext4fs.tar”
2.準(zhǔn)備工作:
解壓解打包工具,得到三個(gè)文件:make_ext4fs园担、mkuserimg.sh娱挨、simg2img抖苦,
把它們跟要修改的 .img.ext4(或.img)文件放置到一個(gè)方便的目錄下
重要:如果你使用的是Ubuntu毯侦,可以使用如下命令安裝上面需要的工具:
# 安裝官方源中的make_ext4fs,mkuserimg.sh,simg2img
apt-get install android-tools-fsutils
3.修改:
打開(kāi)終端,輸入su ,并按照提示輸入su密碼瑰谜,隨后cd到放置工具和源文件的目錄
3.1.轉(zhuǎn)換源文件為img格式( .img則略過(guò))
使用./simg2img src des命令來(lái)轉(zhuǎn)換system.img.ext4格式文件
# 終端輸入:
./simg2img system.img.ext4 system.img
等待一會(huì)就可以轉(zhuǎn)換完畢
3.2.掛載鏡像
新建一個(gè)目錄欺冀,掛載此img到這個(gè)目錄上使用
# 終端輸入:
sudo mkdir sysmain
新建出一個(gè)名為sysmain的目錄
# 繼續(xù)輸入:
mount -o loop system.img sysmain
掛載成功后就可以在資源管理器中管理該img內(nèi)的文件
3.3.修改鏡像內(nèi)容
此時(shí)可以進(jìn)入掛載的目錄里查看修改文件
要注意保持文件的原始權(quán)限,如果不慎搞錯(cuò)權(quán)限有可能導(dǎo)致刷入此鏡像后開(kāi)不了機(jī)
發(fā)現(xiàn)權(quán)限錯(cuò)誤又不知道原權(quán)限時(shí)可以直接改成777然后用戶(hù)為root
一般來(lái)說(shuō)可以參考同目錄下的其他文件
比如要將framework-res.apk文件放到framework目錄下
# 終端輸入:
sudo cp framework-res.apk sysmain/framework
sudo chown root.2000 sysmain/framework/framework-res.apk
sudo chmod 0644 sysmain/framework/framework-res.apk
其他文件依此類(lèi)推 一般建議使用終端命令來(lái)移動(dòng)萨脑、復(fù)制文件
3.4.重新打包
完成修改后就要打包隐轩,此時(shí)用到另外一個(gè)命令
首先在看看鏡像掛載到目錄后鏡像分區(qū)的大小,例如是 4096M
# 終端輸入
chmod 777 ./mkuserimg.sh
./mkuserimg.sh -s sysmain systest.img.ext4 ext4 tmp 4096M
隨后就重新打包好了
注意
下劃線部分必須對(duì)應(yīng)渤早,如果是非M單位要轉(zhuǎn)換成M
如果是打包成.img
# 終端輸入
chmod 777 ./make_ext4fs
./make_ext4fs -l 768M -s -a system system.img ./sysmain
注意:
此處下劃線部分是分區(qū)大小
“-a system”龙助,是指這個(gè)img用于Android,掛載點(diǎn)是/system
使用此參數(shù)后會(huì)自動(dòng)根據(jù)private/android_filesystem_config.h里定義的權(quán)限給鏡像中所有文件重新設(shè)置權(quán)限
如果刷機(jī)后發(fā)現(xiàn)有文件權(quán)限不對(duì)蛛芥,可以修改android_filesystem_config.h添加權(quán)限重新編譯make_ext4fs
也可以直接不使用 “-a system”參數(shù),保持鏡像中文件的默認(rèn)權(quán)限军援。