[android]system.img文件的打包和解包
1:system.img的两种格式
system2_0.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)
system1_0.img: Android sparse image, version: 1.0, Total of 393216 4096-byte output blocks in 1765 input chunks.
以上两种格式分别为:
ext4 filesystem data
Android sparse image
2:两种格式的相互转化工具
//sparse image转化成为ext4的raw imge
Usage: simg2img <sparse_image_files> <raw_image_file>
//ext4的raw image to sparse image
Usage: img2simg <raw_image_file> <sparse_image_file> [<block_size>]
3:system.img文件重新打包的过程
总体思路是将system.img镜像挂载后,然后修改,修改完成为使用make_ext4fs命令进行打包。
1:先将system.img文件转化为ext4的raw image file(只要这个格式的system.img可以挂载)
2:然后挂载system.img
sudo mount system.img /mnt/system
3:然后根据自己的需要,修改/mnt/system目录下的文件
4:重新打包
sudo make_ext4fs -s -l 3096M new.img /mnt/system
5:重新打包后的文件new.img是sparse image格式,所以需要转化成ext4的 raw image
sim2img new.img system.img
6:至此,修改system.img,重新打包的过程完成
4:recovery.img的打包解包过程
http://rex-shen.net/android-unpackpack-factory-images/
6:boot.img文件的解包
#操作命令
mkdir boot && cd boot
abooting -x ../boot.img
#得到这三个文件 :bootimg.cfg initrd.img zImage
#initrd.img文件的解包
file initrd.img
initrd.img: gzip compressed data, from Unix #可以看到是一个gzip的压缩文件
#下面是解压initrd.img文件的命令
mkdir initrd
cd initrd
cat ../initrd.img | gunzip | cpio -vid
#解压上面的initrd.img后,可以看到非常多的文件
#上面编辑完后,重新打包命令如下
cd initrd
find . | cpio --create --format='newc' | gzip > ../myinitd.img
#新写打包boot.img
abootimg --create myboot.img -f bootimg.cfg -k zImage -r myinitrd.img
#下面的命令可以打印出myboot.img文件中的config信息
abootimg -i myboot.img
5:Debian系统中包含的Android开发工具
#安装命令
sudo apt-get install android-tools-adb android-tools-fastboot android-tools-fsutils abootimg
#每个工具的用途,根据需要安装
android-tools-adb
Android Debug Bridge CLI tool
android-tools-fastboot
Android Fastboot protocol CLI tool
android-tools-fsutils
Android ext4 utilities with sparse support
abootimg
Tool to read/write/update android boot images
[android]system.img文件的打包和解包的更多相关文章
- pak文件的打包和解包
pak格式的文件 一般游戏有资源 游戏素材会打包放进去 比如游戏语音 游戏多加点语音 多加一些贴图资源 外部文件实现的 素材--->pak文件--->用的时候从文件中取出来 文件的打包 ...
- python中*和**的打包和解包
python中的*和**,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的 一. 打包参数 * 的作用:在函数定义中,收集所有的位置参数到一个新的元组,并将这个元组赋值给变量arg ...
- unity学习 5.x依赖打包和解包
unity5已经封装好了接口,所以依赖打包并没有那么神秘和复杂了. 打包: 1.定义好资源的assetBundleName 2.BuildPipeline.BuildAssetBundles,指定资源 ...
- Android 校验apk文件渠道号、包名、版本号
功能:可查看单个或目录下所有apk文件的渠道号.包名.版本号 下载地址:http://download.csdn.net/detail/zgz345/9248487使用:以查看包名.版本号为例 1.c ...
- Android系统的镜像文件的打包过程
在前面一篇文章中,我们分析了Android模块的编译过程.当Android系统的所有模块都编译好之后,我们就可以对编译出来的模块文件进行打包了.打包结果是获得一系列的镜像文件,例如system.img ...
- xpack文件打包解包代码库
Github ###概述 xpack是一个文件资源打包工具及类库,可以对多文件进行打包解包. 其使用文件名的hash作为索引,建立hash索引表以加速文件查找. ###特性 支持hashid自动解冲突 ...
- Day004_Linux基础_基础命令之tar打包解包
基础命令之 打包,和解包. tar zcvf 打包的参数 tar zcvf /tmp/etc.tar.gz /etc 将/etc/下的文件压缩成一个压缩包 z 通过gzip工具进行压缩 c 表示 ...
- Linux 文件的打包压缩
压缩和解压 压缩:为了节约磁盘空间. gzip --- .gz bzip2 --- .bz2 xz --- .xz compress --- .z 压缩比例:xz > bzip2 > gz ...
- Linux下 解包/打包 Android 映像文件 system.img, boot.img, ramdisk.img, userdata.img.
Linux下 解包/打包 Android 映像文件 system.img, boot.img, ramdisk.img, userdata.img. 2014年10月20日 ⁄ 计算机视觉 ⁄ 共 1 ...
随机推荐
- [20191115]oracle实例占用内存计算.txt
[20191115]oracle实例占用内存计算.txt --//以前学习oracle数据库时,总想了解实例占用内存多少,我曾经在一些会议底下问过一位高手,对方说计算这个相对很难,许多东西是共享的.- ...
- MyBatis之接口绑定方案及多参数传递
1.说明 所谓的MyBatis接口绑定,指的是实现创建一个接口后,把mapper.xml 由mybatis 生成接口的实现类,通过调用接口对象就可以获取mapper.xml 中编写的sql.在SS ...
- tensorflow 资源汇总-docker 运行 tensorflow-gpu on nvidia support
tensorflow 容器运行过程中使用到的命令记录: 使用image启动容器命令: docker run --name=: tensorflow/tensorflow:latest-gpu-py3- ...
- Redis—数据操作
redis是key-value的数据,所以每个数据都是一个键值对. 数据操作的全部命令,可以查看中文网站. 键的类型是字符串 值的类型分为五种: 字符串string 哈希hash 列表list 集合s ...
- 推荐几个公众号Markdown格式化网站
好多人都喜欢用 Markdown 写文 但是公众号后台编辑又不支持 Markdown 因此,催生出了一系列 Markdown 渲染格式化的工具网站 我使用了其中的一些 分享给你 1.Md2All 官方 ...
- 安装office2010出现的一些问题
在往新的台式机安装office2010时,因为一些原因没有使用虚拟光驱安装,而是解压后安装,安装过程中提示错误,无法找到excel.zh-cn中的msi文件,但是查看安装目录文件发现是有的. 后续尝试 ...
- 数位DP入门详解+题目推荐
\(update:2019-9-6\) 博客里某些东西没有解释清楚,完善了对应的解释 在开始之前,我们先来看一道题--题目链接 题目要求,相邻两位的差大于等于2,那么我们先来构造一个试一试. 比如说\ ...
- Codeforces Round #598 (Div. 3) A. Payment Without Change 水题
A. Payment Without Change You have a coins of value n and b coins of value 1. You always pay in exac ...
- golang--redis连接池
通过golang对redis操作,还可以通过redis连接池,流程如下: (1)事先初始化一定数量的连接,投入到连接池: (2)当go需要操作redis时,直接从连接池取出连接即可: (3)这样可以节 ...
- css 如何让大小不同的图片表现一致,同时自适应呢?
壹 ❀ 引 实习生在做产品分类页时,遇到了一个她不知道如何解决问题,所以来问我应该怎么做:问题其实不难,由于项目使用了bootstrap来实现响应式与自适应,所以除了宽度有明确的百分比值之外(栅格化 ...