android 解压/压缩image文件

先来看看解包脚本unpack.sh, 解压后文件在...._tmp目录中

IMAGE_NAME=$1

gunzip -c -S .img ${IMAGE_NAME}.img > ${IMAGE_NAME}_src
rm -rf ${IMAGE_NAME}_tmp
mkdir ${IMAGE_NAME}_tmp && cd ${IMAGE_NAME}_tmp && cpio -i -F ../${IMAGE_NAME}_src


然后再来看看打包脚本pack.sh,

#!/bin/bash

IMAGE_NAME=$1

cd ${IMAGE_NAME}_tmp && find * | cpio -o -H newc > ../${IMAGE_NAME}_new && cd .. && gzip -c ${IMAGE_NAME}_new > ${IMAGE_NAME}-new.img

我们可以把要替换的东西放在之前的...tmp文件中,然后执行pack.sh生成新的image。


下面我们举个例子:

我们需要把ramdisk.img中的adbd替换我们自己的。

我们先建一个目录,然后把pack.sh unpack.sh ramdisk.img都放入该目录

第一步执行./unpack.sh ramdisk

执行这步后会有一个ramdisk_tmp目录,进这个目录把我们的adbd替换这里面的。

第二步执行./pack.sh ramdisk

这样会产生一个ramdisk-new.img, 这个就是我们所需要的




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值