system.img的修改方法

在android开发中,我们经常需要查看system.img的内容以便分析问题,或者是在不编译的情况下修改system.img的内容。这就涉及到把system.img进行挂载的问题。下面对这块内容做一个大致的介绍。
system.img有raw ext4 image 和 sparse ext4 image 2种格式。
1.raw ext4 image
即经常说的raw image,其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载. 我们可以使用file指令查看:

$ file system.raw.img
system.raw.img: Linux rev 1.0 ext4 filesystem data, UUID=da594c53-9beb-f85c-85</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用方法: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.imgAndroid系统中的一个重要文件,包含了系统的核心文件和库。 解包工具的作用是将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、付费专栏及课程。

余额充值