纯Windows安卓ROM工具 simg2img split 您所在的位置:网站首页 bootimg解包工具安卓9 纯Windows安卓ROM工具 simg2img split

纯Windows安卓ROM工具 simg2img split

2023-09-28 16:15| 来源: 网络整理| 查看: 265

纯Windows安卓ROM工具 simg2img split_bootimg (含源码) 使用MinGW编译,不用担心cygwin1.dll多版本冲突,含源码和版权说明文件,再发布无问题。 simg2img.exe 用于解包 system.img,img2simg.exe 用于修改完system.img后重新打包。 simg2simg.exe 用法比较罕见,在system.img大于2G时分成几个小包,以便在FAT分区使用。 split_bootimg.pl 用于解包 boot.img、recovery.img、droidboot.img。 为了便携自带最小的perl语言环境miniperl 5.8.9(580KB)。 增加 split_bootimg4.pl 支持安卓4.x Device tree解包,细节请见split_bootimg\readme.txt。 用法:

miniperl split_bootimg4.pl boot.img > boot.img.log

下载地址(libsparse.tar.lzma 362KB): https://pan.baidu.com/s/1bnsEwgv 编译步骤: 进入MinGW环境,确认安装了 MinGW zlib(mingw32-libz) 和 MSYS wget。 安装 mingw32-libz :

mingw-get install mingw32-libz

安装 msys-wget :

mingw-get install msys-wget

新建一个文件夹:

mkdir libsparse

cd libsparse

将 makefile 代码区的内容复制粘贴到 libsparse/makefile.old 文件,用下列指令解决可能丢失tab字符的问题:

TAB="\t" ; cat makefile.old | sed -e 's/^\s\+$//' -e "s/^ /$TAB/" > makefile

编译:

make

先自动用 wget 从 github 下载其需要的最少部分安卓源码,然后编译。 makefile 文件:

# path: (android source)/system/core/libsparse# mingw libz must be installedHOSTCC = gccHOSTCXX = g++HOSTAR = arHOSTCFLAGS := $(HOSTCFLAGS)HOSTCXXFLAGS := $(HOSTCXXFLAGS)# refer: (android source)/build/core/combo/HOST_windows-x86.mk# mingw HOST_GLOBAL_CFLAGSHOSTCFLAGS += -DUSE_MINGWHOSTCXXFLAGS += -DUSE_MINGW# mingw HOST_GLOBAL_LDFLAGSHOSTLDFLAGS += -Wl,--enable-stdcall-fixupHOSTLDFLAGS += -static# 'AndroidConfig.h' from (android source)/build/core/combo/include/arch/windowsHOSTCFLAGS += -include ./arch/windows/AndroidConfig.hHOSTCXXFLAGS += -include ./arch/windows/AndroidConfig.hCC = $(HOSTCC)CXX = $(HOSTCXX)AR = $(HOSTAR)CFLAGS = $(HOSTCFLAGS)CXXFLAGS = $(HOSTCXXFLAGS)LDFLAGS = $(HOSTLDFLAGS)LOCAL_C_INCLUDES := ./includeCFLAGS += -O2 -I$(LOCAL_C_INCLUDES)CXXFLAGS += -O2 -I$(LOCAL_C_INCLUDES)libsparse_src_files := \ backed_block.c \ output_file.c \ sparse.c \ sparse_crc32.c \ sparse_err.c \ sparse_read.clibsparse_obj_files := \ backed_block.o \ output_file.o \ sparse.o \ sparse_crc32.o \ sparse_err.o \ sparse_read.oall : simg2img img2simg simg2simg$(libsparse_obj_files) : $(libsparse_src_files) arch/windows/AndroidConfig.hlibsparse.a : $(libsparse_obj_files) $(AR) -crs $@ $^simg2img : simg2img.o libsparse.a $(CC) $(CFLAGS) [email protected] -o $@ $(LDFLAGS) -L. -lsparse -lzimg2simg : img2simg.o libsparse.a $(CC) $(CFLAGS) [email protected] -o $@ $(LDFLAGS) -L. -lsparse -lzsimg2simg : simg2simg.o libsparse.a $(CC) $(CFLAGS) [email protected] -o $@ $(LDFLAGS) -L. -lsparse -lzclean : -$(RM) *.o *.aAOSP_TAG := android-4.4.4_r2.0.1AOSP_SYSTEM_CORE := https://raw.githubusercontent.com/android/platform_system_coreAOSP_BUILD := https://raw.githubusercontent.com/android/platform_buildlibsparse_files := \ backed_block.c \ backed_block.h \ img2simg.c \ output_file.c \ output_file.h \ simg2img.c \ simg2simg.c \ sparse.c \ sparse_crc32.c \ sparse_crc32.h \ sparse_defs.h \ sparse_err.c \ sparse_file.h \ sparse_format.h \ sparse_read.c \ include/sparse/sparse.h$(libsparse_files) : downloadarch/windows/AndroidConfig.h : downloaddownload : wget_test ( echo core/combo/include/arch/windows/AndroidConfig.h ) | \ wget --no-check-certificate -N -x -nH --cut-dirs=6 -nv -i - \ -B $(AOSP_BUILD)/$(AOSP_TAG)/ ( for f in $(libsparse_files) ; do echo $$f; done ) | \ wget --no-check-certificate -N -x -nH --cut-dirs=4 -nv -i - \ -B $(AOSP_SYSTEM_CORE)/$(AOSP_TAG)/libsparse/wget_test : @which wget > /dev/null || \ (echo wget not installed, run \'mingw-get install msys-wget\' please\ && false)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有