a357723568 2016-12-20 20:44 采纳率: 0%
浏览 2062
已结题

安卓5.0系统中内核信息如何修改?

请教各位大师了。安卓5.0系统中内核信息如何修改?即build.prop文件中,ro.build.date=显示的信息。直接从build.prop文件修改成自己的信息,结果还是不能实现。望大师门指点。

  • 写回答

1条回答 默认 最新

  • 传说中的神话灬 2016-12-23 09:22
    关注

    Android 产品中,内核格式是Linux标准的zImage,根文件系统采用ramdisk格式。这两者在Android下是直接合并在一起取名为boot.img,会放在一个独立分区当中。这个分区格式是Android自行制定的格式。

    Android开发时,最标准的做法是重新编译于内核和根文件系统,然后调用Android给的命令行文件mkbootimg(out/host/linux-x86/bin/)来打包。

    在制作手机ROM时,有时会单独编译内核或抽出根文件进行修改内容,比如我只编译内核,其余的地方不变。这样重新安装巨大的Android开发环境实在不划算。因此很多boot.img解包工具被人开发出来,这一些工具都是把内核和根文件系统从一个现成的boot.img抽取出来,修发后再次打包还原。

    一.常见的解包工具

    因为boot.img的格式比较简单,它主要分为三大块(有的可能有四块)

    因此很多人开发分析工具,有是linux shell脚本,比如repack-zImage,也有人采用perl,还有C语言编写的 unbootimg,

    我使用的是在源码位置system/core/mkbootimg/ 下的 mkbootimg。为了简化,蓝点工坊把与mkbootimg中打包工具和解包工具以及所包含的libmincrpty库抽出来,并且重写一个Makefile,作为开源项目。
    使用者只需要在linux(需安装gcc,make,一般是标配)或windows(需要安装mingw)的命令行执行make,即可产生可执行文件mkbootimg ,unpackbootimg。

    二.解/打包工具使用

    解包工具:unpackbootimg

    常见格式
    unpackbootimg -i .\tmp\boot.img -o .\out

    这一句命令行表示把boot.img解包,所有文件输出到out目录下

    它会解压出如下文件:
    boot.img-zImage (内核文件)
    boot.img-ramdisk.gz (根文件系统打包文件)
    boot.img-cmdline (mkbootimg cmdline参数)
    boot.img-pagesize (mkbootimg pagesize参数)

    boot.img-base (mkbootimg base参数)

    打包工具:mkbootimg (Android自带)

    常见的命令格式:
    ./mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel zImage --ramdisk boot/boot.img-ramdisk.gz -o boot.img --base 02e00000
    这句含义是把内核文件zImage和boot目录下的根文件压缩包 boot.img-ramdisk.gz打包成boot.img.
    其中cmdline和base的值均来源于unpackbootimg的结果

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘