system.img解包打包

system.img有两种格式:raw和sparse。

$file system.img
system.img: data

这说明我的system.img是sparse的。


$simg2img system.img system.raw
$file system.raw
system.raw: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)
转成raw的,会变大。

$mkdir my_sysdir
$sudo mount -t ext4 system.raw ./my_sysdir
挂载ext4分区
可以在my_sysdir里修改了。

sudo umount my_sysdir/
卸载my_sysdir

$img2simg system.raw system2.img
转成sparse格式的。

system2.img就可以直接用于下载了。

img2simg工具默认是没有编译出来的,可以在编译环境建立后,make img2simg_host 来生成。
使用方法:http://blog.csdn.net/asmcvc/article/details/11770851 工具: unyaffs,mkyaffs2image 其中unyaffs有windows版本和linux版本,mkyaffs2image只有linux版本。 windows版本的unyaffs用法: 把system.img复制到unyaffs的相同目录下,cmd命令下cd到unyaffs的目录下,然后执行命令:unyaffs system.img unyaffs会把system.img解压到其目录下。 linux版本的unyaffs用法: 把unyaffs复制到/usr/bin目录下,并修改权限为可执行。 然后cd到system.img目录下(假定目录为system目录),执行命令:unyaffs system.img 然后对system目录下的文件进行修改。 注意:修改完后的文件修改一下权限,尽量和其他文件的权限保持一致。例如:chmod 644 framework-res.apk mkyaffs2image用法: 复制到/usr/bin目录下,并修改权限为可执行。 这里以打包system目录为system.img为例,执行命令: mkyaffs2image system system.img 然后把新生成的system.img复制替换掉原:adt-bundle-windows-x86\sdk\system-images\android-17\armeabi-v7a\system.img 执行bat批处理命令启动模拟器: D:\adt-bundle-windows-x86\sdk\tools\emulator-arm.exe -avd AndroidVM -partition-size 128 这里以修改android系统启动画面为例: 打开解包目录下的\framework\framework-res.apk 替换图片:framework-res.apk\assets\images\android-logo-mask.png为下图: 然后对\framework\framework-res.apk文件重新签名,复制到linux下后修改文件权限和原来一致。 然后mkyaffs2image system system.img打包生成新的system.img,替换原来的system.img,并启动模拟器,效果图如下: 修改代码: 工具:odextools(参考:《一键odex批量合并工具odextools的重新整理与使用》)、dexopt-wrapper 其中odextools.bat的代码: 批处理有一处bug:每打包一次会把odex文件删除掉,导致在后面的打包过程中会出现找不到:system/framework/core.odex类似的错误,因此只需要在打包完后不删除odex文件即可,找到del /f !apkx!.odex 1>nul 2>nul改为:::del /f !apkx!.odex 1>nul 2>nul,也就是注释掉这一行代码。 具体使用方法(操作在windows下): 在odextools\romdir目录下创建文件夹:system 利用unyaffs解包system.img后,把所有文件复制到system目录下。 然后运行odextools.bat,如图: 选择一个需要整合odex的目录选项即可。odextools.bat会自动设置环境变量,使用baksmali.jar来反编译odex为smali,然后再调用smali.jar打包为classes.dex, 然后再打包到相应的apk包(framework目录下对应的是jar后缀的,实际上也是个apk包),最后再重新签名。 如果要修改代码,则需要把上面重新打包生成的apk文件,利用常规方法反编译后修改smali代码,例如插桩输入log信息。然后再回编译并重新签名。 最后一步:因为system.img中的apk是优化过的,apk主目录下是没有classes.dex文件的,而是一个被优化过的odex文件,用于优化启动速度。 因此需要将修改后的apk包再用dexopt-wrapper优化apk包后生成出odex文件,然后删除apk包里的classes.dex,并在相同目录下放置与apk包同名的odex文件。 按照原system目录的文件结构组织好后,目录复制到linux环境下使用mkyaffs2image重新打包成system.img
### 回答1: 系统镜像(system.img)是安卓系统中的一个重要文件,包含了操作系统的核心组件和文件解包打包系统镜像可以帮助我们修改、定制和增加系统文件。下面我将介绍一些常用的系统镜像解包打包分解合并工具。 最常用的工具是Android Kitchen。Android Kitchen是一个命令行工具,可用于解包打包、分解和合并系统镜像。它提供了一套简洁明了的命令,可以方便地进行系统镜像的操作。使用Android Kitchen,我们可以解包系统镜像,获取系统文件,进行修改和替换,然后再打包成新的系统镜像。 另一个常用的工具是Android Image Kitchen。Android Image Kitchen是一个图形化界面的工具,功能也类似于Android Kitchen。它提供了更直观的操作界面,适合那些不熟悉命令行的用户使用。通过Android Image Kitchen,我们可以轻松地解包打包、分解和合并系统镜像。 除了上述工具,还有一些其他工具也可以用于系统镜像的解包打包分解合并。例如,Binwalk是一个用于分析和提取文件的工具,可以在系统镜像中查找并提取特定的文件。也可以使用Android NDK提供的相关工具,如mkbootimg和unpackbootimg来处理与启动相关的镜像文件。 综上所述,解包打包分解合并系统镜像是定制和修改安卓系统的重要步骤。Android Kitchen、Android Image Kitchen以及其他一些工具可以帮助我们完成这些操作,使我们能够对系统进行个性化定制和优化。 请注意,上述内容仅供参考,实际操作中还需根据具体情况选择合适的工具和方法,并遵循相关的法律规定。 ### 回答2: system.img解包打包分解合并工具主要是用于处理Android系统镜像文件中的system.img文件。这个工具用于将系统镜像文件中的system.img文件解包成可读的文件夹,以便用户可以查看和修改其中的文件。 使用解包工具,用户可以将system.img文件解包为一系列文件夹和文件,这些文件包含了Android系统的核心文件、应用程序、库文件等。用户可以在解包后的文件夹中进行文件的添加、修改或删除,以定制化系统镜像,加入自己所需的功能或应用。 而当用户完成对系统文件修改后,打包工具可以将这些文件夹和文件重新打包成system.img文件,以便用户可以将定制化后的系统镜像刷入到设备中。这个过程还可以包括压缩系统文件以减小文件大小,进一步节省设备存储空间。 分解工具则可以将system.img文件按照一定的规则拆分为多个小的img文件,这样可以方便用户在空间有限的设备上进行存储和传输。 合并工具则是将多个system.img文件合并成一个大的system.img文件,这对于一些需要合并多个系统镜像的情况很有用,比如将多个厂商提供的ROM镜像文件合并后刷入设备。 总的来说,system.img解包打包分解合并工具是一种有效的工具,帮助用户处理Android系统镜像文件中的system.img文件,提供了多种操作方式,方便用户进行定制化和优化系统。 ### 回答3: system.img解包打包分解合并工具是一种用于处理Android系统镜像文件system.img的工具。system.img是Android系统中的一个重要文件,包含了系统的核心文件和库。 解包工具的作用是将system.img文件拆分成多个文件夹和文件解包后,我们可以查看并编辑其中的文件,比如修改系统配置文件、添加自定义脚本等。这对于进行系统定制或者ROM开发非常有帮助。 打包工具则是将经过修改文件重新打包成一个完整的system.img文件。这样修改后的系统文件就可以被重新刷入到手机或其他Android设备中,实现定制化的系统。 对于分解工具来说,它可以将已经解包后的system.img文件再次拆分成多个文件夹和文件。这对于查看和修改系统文件非常方便,可以按照自己的需求进行修改和定制。 合并工具则是将解包后的文件重新合并成一个完整的system.img文件。这在系统定制完成后,需要将修改后的文件重新打包成一个系统镜像文件,方便刷入到其他设备中使用。 总之,system.img解包打包分解合并工具是一套功能齐全的工具集,可以方便地进行Android系统镜像文件的处理和定制,提供了对系统文件的查看、编辑和打包的功能,方便开发者进行系统定制和ROM制作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值