专栏首页difcareer的技术笔记Android boot.img的解包/修改/重打包

Android boot.img的解包/修改/重打包

最近研究对了Android的boot.img的操作,将一些繁琐的东西整理了一下,发到了github:https://github.com/difcareer/BootImgTool/

什么情况下,需要操作boot.img:

  1. 自己编译的linux内核,需要解包boot.img,替换kernel文件后重打包,这样刷机才会生效。
  2. 如果想要修改配置,比如default.prop,也需要这个操作。

下面就以修改配置文件为例说明一下如何操作:

  1. 拉取代码,编译
git clone https://github.com/difcareer/BootImgTool/
cd BootImgTool
chmod 755 build.sh
./build.sh
  1. 使用tmp下的boot.img练手,解包:
bin/unpack-bootimg.sh tmp/boot.img

此时tmp如下:

ll tmp
total 34944
-rw-r--r--   1 andr0day  staff   8.5M  4 16 19:14 boot.img
-rw-r--r--   1 andr0day  staff   8.0M  4 16 19:30 boot.img-kernel.gz //替换kernel时,覆盖此文件
drwxr-xr-x  25 andr0day  staff   800B  4 16 19:30 boot.img-ramdisk //进入此目录修改配置
-rw-r--r--   1 andr0day  staff   488K  4 16 19:30 boot.img-ramdisk.cpio.gz
  1. 修改default.prop: 在tmp/boot.img-ramdisk/下,找到default.prop进行修改,比如将ro.debuggable=0 改为ro.debuggable=1
  2. 重新打包:
bin/repack-bootimg.sh tmp/boot.img-kernel.gz tmp/boot.img-ramdisk boot.img

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 将自己编译的AOSP刷入nexus5

    ubuntu14.04编译Android4.4源码讲述了用于模拟器的AOSP编译过程,在完整编译了源码以后,会自动将编译结果目录加入到path中,此时运行 em...

    用户2930595
  • Android相关工具与项目整理

    APK Crawler: WebAPKCrawler https://github.com/Fuzion24/WebAPKCrawler playdrone...

    用户2930595
  • C代码 从源代码到可执行文件——编译全过程解析

    程序的生命周期从一个高级C语言程序开始,这种形式能够被人读懂,却不能被机器读懂,为了在系统上运行这个程序,该源程序需要被其他程序转化为一系列低级机器语言指令,然...

    用户2930595
  • 详解Android Selinux 权限及问题

    Android 5.0以后完全引入了 SEAndroid/SELinux 安全机制,这样即使拥有 root 权限或 chmod 777 ,仍然无法再JNI以上访...

    砸漏
  • python的格式化输出

    >>> a=1.500; >>> print(a); 1.5 末尾的0没有输出,但是有时候我们需要,这样就必须采用格式化输出。 利用字符串格式运算符% >>> ...

    东风冷雪
  • laravel dingo/api添加jwt-auth认证

    前面我们学了laravel dingo/api创建简单的api,这样api是开放给所有人的,如何查看和限制api的调用呢?可以用jwt-auth来验证,JSON...

    ytkah
  • Intellij IDEA 一些不为人知的技巧

    今天又听了 Jetbrains 首席布道师 Hadi 的分享的 Intellij IDEA 使用技巧,说又是是因为之前在 QCon 听过一遍,但是这次 Hadi...

    java进阶架构师
  • 【Java】单词倒序输出

      如何将一段单词倒序输出?把“Hello Java Hello China”变成“China Hello Java Hello”?   看起来好像很简单,只需...

    弗兰克的猫
  • Java单体应用 - 常用框架 - 01.Bootstrap - 表格

    原文地址:http://www.work100.net/training/monolithic-frameworks-bootstrap-table.html

    光束云
  • zookeeper is not a recognized option zookeeper参数不支持

    原因: – zookeeper is not a recognized option主要原因是 Kafka 版本过高,命令不存在,高版本不再支持此消费命令 新的...

    院长技术

扫码关注云+社区

领取腾讯云代金券