標籤:android ar os 使用 sp 檔案 bs ad 工作
1、眾所周知,android的底層是linux。我們此處對system.img的操作也要在linux下進行。如果你使用的是windows,可以使用Vmware虛擬機器,安裝linux作業系統。我使用的是ubuntu。
2、我們可以在/boot目錄下(也可以是別的目錄,下面的檔案名稱亦可修改)建立3個檔案夾:
建立/boot/work:主要的工作空間
建立/boot/system:用於掛載sdk中原本的system.img鏡像
建立/boot/newsystem:用於掛載新製作的ext4格式鏡像
3、在網上下載make_ext4fs工具
a)將make_ext4fs、mkuserimg.sh、simg2img三個檔案拷貝到/boot/work目錄下。
b)將sdk中的system.img拷貝到/boot/work目錄下(例如我sdk中system.img的路徑為:\adt-bundle-windows-x86-20131030\sdk\system-images\android-19\armeabi-v7a)。
c)製作新的system空白鏡像,下面以製作300M的newsystem.img為例:
產生鏡像檔案:# dd if=/dev/zero of=newsystem.img count=614400
將鏡像檔案製作ext4檔案系統:#./make_ext4fs newsystem.img
更改許可權:#chmod 666 newsystem.img
好了,準備工作完成。
4、掛載鏡像
a) 掛載鏡像system.img到/boot/system目錄
# mount -t ext4 -o loop system.img /boot/system
b) 掛載鏡像newsystem.img到/boot/newsystem目錄
# mount -t ext4 -o loop newsystem.img /boot/newsystem
掛載好之後,我們只要開啟/boot/system和/boot/newsystem目錄,就可以看到system.img和newsystem.img中所對應的類容。
可以看到,system中有很多內容,而newsystem中只有lost+found。現在我們可以對system作任意修改(比如刪除掉app裡的apk)。修改完之後我們利用cp命令將system中的內容拷貝到newsystem檔案檔案夾中。然後,解除掛載。
至此,/boot/work目錄下的system.img及newsystem.img都修改完成。這兩個鏡像的內容完全一樣,只是system.img的大小還是原本的大小,而newsystem.img減小為300M。當然,如果你不需要修改鏡像的大小,直接使用system.img就可以了,newsystem.img也不用建立。
5、註:userdata.img亦可用此方法製作。
修改安卓虛擬機器系統鏡像