下载代码仓储 https://android.googlesource.com/platform/system/extras:

git clone https://android.googlesource.com/platform/system/extras

选择对应的版本:

cd extras
git checkout android-4.1.1_r1

编译 simg2img:

cd ext4_utils
gcc -o simg2img -lz sparse_crc32.c simg2img.c

拆包android镜像文件:

cd ../../
./extras/ext4_utils/simg2img system.img system.raw.img
./extras/ext4_utils/simg2img userdata.img userdata.raw.img

通过mount挂载镜像(Mac osx系统可以使用Paragon’s ExtFS):

mkdir /mnt/my_system /mnt/my_userdata
mount -t ext4 -o loop userdata.raw.img /mnt/my_userdata

编译 make_ext4fs:

cd extras/ext4_utils
gcc -o make_ext4fs -lz make_ext4fs_main.c make_ext4fs.c ext4fixup.c ext4_utils.c allocate.c backed_block.c output_file.c contents.c extent.c indirect.c uuid.c sha1.c sparse_crc32.c wipe.c

重新打包镜像:

cd ../../
PATH="$PATH:$(pwd)/extras/ext4_utils/make_ext4fs" ./extras/ext4_utils/mkuserimg.sh -s /mnt/my_system_dir my_system.img ext4 /tmp 512M

推荐一个很棒的第三方精简的 Laravel console

个人喜好经常写些命令行工具,laravel 很方便,但脚手架工程就 45M左右,使用 composer install --no-dev 也要24M左右,很笨重。 也尝试过 symfony 的 compos...

阅读全文

有关 PHP 和 js 浮点运算的坑

javascript 0.1 + 0.2 为啥不等于 0.3 ? (正确结果:0.30000000000000004) 0.8 * 7 为啥不等于 5.6 ? (正确结果:5.6000000000000005) PHP var_dump(intv...

阅读全文

彻底搞懂 PHP 变量结构体,多数文章观点不准确

PHP5 中的 zval // 1. zval typedef struct _zval_struct { zvalue_value value; zend_uint refcount__gc; zend_uchar type; zend_uchar is...

阅读全文

欢迎留言