开始我们的工作前,请记住,Linux一定要学会用file命令分析文件类型,这样才好入手,否则错了都不知道怎么回事!!! 1、解压system.img 先用file命令查看system.img的文件类型 file system.img system.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (needs journal recovery) (extents) (large files) 看到没 ext4 filesystem data 那好办,采用挂载分区的方式来打开system.img文件 mount -t ext4 -o loop system.img systemimg //此命令的意思将system.img镜像文件挂载到systemimg目录 cd systemimg Android标准的文件结构就出来了,里面可以“随意”定制 2、重新打包生成system.img 打包命令: ./make_ext4fs -l 1024M -s -a system system_new.img systemimg 参数解析:1024M代表你要打包的system.img大小,这个值可以参考挂载前system.img的大小 "-a system",是指这个img用于android系统,挂载点是/system,使用这个参数,make_ext4fs会根据private/android_filesystem_config.h里定义好的权限来给文件夹里的所有文件重新设置权限,如果你刷机以后发现有文件权限不对,可以手工修改android_filesystem_config.h来添加权限,重新编译make_ext4fs,也可以不使用 “-a system”参数,这样就会使用文件的默认权限。 system_new.img代表新生成的img systemimg就是上面挂载后的目录 一般很多人认为这样生成的system_new.img就可以用了,其实不然 再次用file命令查看文件类型 file system_new.img system_new.img: data 跟之前的输出截然不同,这显然不是ext4文件类型,啥情况??? 方法就是继续使用simg2img工具将其转换成真正的ext4文件 ./simg2img system_new.img system_out.img 得到system_out.img file system_out.img system_out.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files) 怎么样?这次得到的img就是ext4了吧?ok,那么这个system_out.img就是我们重新打包生成的img了,这就可以烧到手机里面看看效果了。。。 PS:上面提到的make_ext4fs simg2img等工具在android环境的out/host/linux-x86/bin目录下。 更多Android相关信息见Android 专题页面 http://www./topicnews.aspx?tid=11 本文永久更新链接地址:http://www./Linux/2014-06/103521.htm开始我们的工作前,请记住,Linux一定要学会用file命令分析文件类型,这样才好入手,否则错了都不知道怎么回事!!! 1、解压system.img 先用file命令查看system.img的文件类型 file system.img system.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (needs journal recovery) (extents) (large files) 看到没 ext4 filesystem data 那好办,采用挂载分区的方式来打开system.img文件 mount -t ext4 -o loop system.img systemimg //此命令的意思将system.img镜像文件挂载到systemimg目录 cd systemimg Android标准的文件结构就出来了,里面可以“随意”定制 2、重新打包生成system.img 打包命令: ./make_ext4fs -l 1024M -s -a system system_new.img systemimg 参数解析:1024M代表你要打包的system.img大小,这个值可以参考挂载前system.img的大小 "-a system",是指这个img用于android系统,挂载点是/system,使用这个参数,make_ext4fs会根据private/android_filesystem_config.h里定义好的权限来给文件夹里的所有文件重新设置权限,如果你刷机以后发现有文件权限不对,可以手工修改android_filesystem_config.h来添加权限,重新编译make_ext4fs,也可以不使用 “-a system”参数,这样就会使用文件的默认权限。 system_new.img代表新生成的img systemimg就是上面挂载后的目录 一般很多人认为这样生成的system_new.img就可以用了,其实不然 再次用file命令查看文件类型 file system_new.img system_new.img: data 跟之前的输出截然不同,这显然不是ext4文件类型,啥情况??? 方法就是继续使用simg2img工具将其转换成真正的ext4文件 ./simg2img system_new.img system_out.img 得到system_out.img file system_out.img system_out.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files) 怎么样?这次得到的img就是ext4了吧?ok,那么这个system_out.img就是我们重新打包生成的img了,这就可以烧到手机里面看看效果了。。。 PS:上面提到的make_ext4fs simg2img等工具在android环境的out/host/linux-x86/bin目录下。 更多Android相关信息见Android 专题页面 http://www./topicnews.aspx?tid=11 本文永久更新链接地址:http://www./Linux/2014-06/103521.htm开始我们的工作前,请记住,Linux一定要学会用file命令分析文件类型,这样才好入手,否则错了都不知道怎么回事!!! 1、解压system.img 先用file命令查看system.img的文件类型 file system.img system.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (needs journal recovery) (extents) (large files) 看到没 ext4 filesystem data 那好办,采用挂载分区的方式来打开system.img文件 mount -t ext4 -o loop system.img systemimg //此命令的意思将system.img镜像文件挂载到systemimg目录 cd systemimg Android标准的文件结构就出来了,里面可以“随意”定制 2、重新打包生成system.img 打包命令: ./make_ext4fs -l 1024M -s -a system system_new.img systemimg 参数解析:1024M代表你要打包的system.img大小,这个值可以参考挂载前system.img的大小 "-a system",是指这个img用于android系统,挂载点是/system,使用这个参数,make_ext4fs会根据private/android_filesystem_config.h里定义好的权限来给文件夹里的所有文件重新设置权限,如果你刷机以后发现有文件权限不对,可以手工修改android_filesystem_config.h来添加权限,重新编译make_ext4fs,也可以不使用 “-a system”参数,这样就会使用文件的默认权限。 system_new.img代表新生成的img systemimg就是上面挂载后的目录 一般很多人认为这样生成的system_new.img就可以用了,其实不然 再次用file命令查看文件类型 file system_new.img system_new.img: data 跟之前的输出截然不同,这显然不是ext4文件类型,啥情况??? 方法就是继续使用simg2img工具将其转换成真正的ext4文件 ./simg2img system_new.img system_out.img 得到system_out.img file system_out.img system_out.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files) 怎么样?这次得到的img就是ext4了吧?ok,那么这个system_out.img就是我们重新打包生成的img了,这就可以烧到手机里面看看效果了。。。 PS:上面提到的make_ext4fs simg2img等工具在android环境的out/host/linux-x86/bin目录下。 更多Android相关信息见Android 专题页面 http://www./topicnews.aspx?tid=11 本文永久更新链接地址:http://www./Linux/2014-06/103521.htm |
|