Android 框架实现分析 - 工具 - host工具

mkbootfs

        源代码位于:system/core/cpio。

$ mkbootfs -f boot_filesystem_config.txt targetfiles/BOOT/RAMDISK | minigzip > ramdisk.img

mkbootimg

        源代码位于:system/core/mkbootimg。

mkbootimg --kernel kernel --ramdisk ramdisk.img --output /tmp/boot.img

minigzip

        源代码位于:external/zlib。

imgdiff

        源代码位于:recovery/applypatch。

        对应的应用补丁的工具为imgpatch。imgdiff用来处理*.gz,*.zip,*.apk,*.jar,*.img。

        imgpatch以及下面的bspatch都存在于applypatch工具中。与官方的bspatch在输入输出以及错误处理上有一些不同。根据diff文件的开头几个字节可以判断应该使用哪个补丁工具。开头为“BSDIFF40”的用bspatch处理,开头为“IMGDIFF2”用imgpatch处理。

bsdiff

        源代码位于:external/bsdiff。

        对应的应用补丁的工具为bspatch。bsdiff能够更高效地处理可执行文件。

mkyaffs2image

        源代码位于:external/yaffs2。

ext4_utils

        源代码位于:system/extras/ext4_utils。

make_ext4fs

ext2simg

setup_fs

ext4fixup

mkuserimg.sh

        调用make_ext4fs生成img文件。

system/extras/ext4_utils/mkuserimg.sh:

-------------------------------------------------------------------------

if [ "$1" = "-s" ]; then

  ENABLE_SPARSE_IMAGE="-s"

  shift

fi

SRC_DIR=$1

OUTPUT_FILE=$2

EXT_VARIANT=$3

MOUNT_POINT=$4

SIZE=$5

FC=$6

make_ext4fs $ENABLE_SPARSE_IMAGE $FCOPT -l $SIZE -a $MOUNT_POINT $OUTPUT_FILE $SRC_DIR

libsparse

        源代码位于:system/core/libsparse。

simg2img

img2simg

simg2simg

simg_dump.py

上一篇:python opencv批量修改图片格式


下一篇:LeetCode-071-简化路径