[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

原文地址:https://www.cnblogs.com/xunbu7/p/10844061.html

时间: 2024-08-25 08:33:55

[android]system.img文件的打包和解包的相关文章

pak文件的打包和解包

pak格式的文件 一般游戏有资源 游戏素材会打包放进去 比如游戏语音 游戏多加点语音  多加一些贴图资源 外部文件实现的 素材--->pak文件--->用的时候从文件中取出来 文件的打包 1 #include<iostream> 2 #include<fstream>//观于文件的头函数 3 using namespace std; 4 5 struct fileInfo 6 { 7 int fileSize;//文件大小 8 int fileOff;//文件在pak中

Android系统镜像文件的打包过程分析(转载)

Android系统镜像文件的打包过程分析 原文链接 本文由豆约翰博客备份专家远程一键发布

python中*和**的打包和解包

python中的*和**,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的 一. 打包参数 * 的作用:在函数定义中,收集所有的位置参数到一个新的元组,并将这个元组赋值给变量args >>> def f(*args): print(args) >>> f() () >>> f(1) (1,) >>> f(1, 2, 3, 4) (1, 2, 3, 4) >>> ** 的作用:在函数定义中,收集关键

unity学习 5.x依赖打包和解包

unity5已经封装好了接口,所以依赖打包并没有那么神秘和复杂了. 打包: 1.定义好资源的assetBundleName 2.BuildPipeline.BuildAssetBundles,指定资源目录和压缩类型 生成: 1.Assetbundle文件,加载时的首要文件,包含所有资源的依赖信息 2.每个文件对应一个.manifest,不用管他,但是可以打开查看他引用了哪些资源. 加载: 1.获取AssetBundle文件 2.LoadAsset("AssetBundleManifest&quo

文件的打包和解压-----常用

<17>归档管理:tar 计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据. tar使用格式 tar [参数] 打包文件名 文件 tar命令很特殊,其参数前面可以使用"-",也可以不使用. 常用参数: 参数 含义 -c 生成档案文件,创建打包文件 -v 列出归档解档的详细过程,显示进度 -f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后 -t 列出档案中包含

Android系统的镜像文件的打包过程

在前面一篇文章中,我们分析了Android模块的编译过程.当Android系统的所有模块都编译好之后,我们就可以对编译出来的模块文件进行打包了.打包结果是获得一系列的镜像文件,例如system.img.boot.img.ramdisk.img.userdata.img和recovery.img等.这些镜像文件最终可以烧录到手机上运行.在本文中,我们就详细分析Android系统的镜像文件的打包过程. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! <Andr

xpack文件打包解包代码库

Github ###概述 xpack是一个文件资源打包工具及类库,可以对多文件进行打包解包. 其使用文件名的hash作为索引,建立hash索引表以加速文件查找. ###特性 支持hashid自动解冲突,即使添加的多个文件名hashid发生冲突也可以正常存取,不用担心文件名hash一样导致的添加失败问题 支持存储文件的原文件名,可以解包复原文件目录结构 支持文件分块存储,可以重复利用被删除文件的剩下的空闲块,提高资源包的空间利用率,提高资源删除的性能 支持寄生资源包,可以把资源包追加到其他文件中,

Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

转载地址:http://blog.csdn.net/xiaanming/article/details/9257853 最近有一个需要,我们公司做了一个apk客户端,然后其他的公司可以根据自己的需要来替换里面的资源图片,文字等一些资源文件问题,我本来想这个简单,用两个工程直接替换里面的资源文件就行,老大说,这样子不好,如果要改需要改两个客户端,而且还麻烦,叫我将所有的Activity打成Jar包的形式,这样子我们改了里面的内容就直接发布Jar包出去,其他公司直接下载Jar来使用,这样子他们自己公

Android 命令行编译、打包生成apk文件

一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1.6.0_20\bin3. 例子信息 项目目录:D:\ProjectDemo SDK目录 :D:\android-sdk-windows\platforms\android-8\ 二.命令行编译Android项目 1. 生成R文件 2. Java代码生成class文件 3. class文件生成dex文件