贝博恩创新科技网

android kitchen教程

目录

  1. 什么是 Android Kitchen?
  2. 谁需要使用 Android Kitchen?
  3. 重要前提与风险提示
  4. 环境搭建:准备工作
    • 1. 安装 Java Development Kit (JDK)
    • 2. 下载 Android Kitchen
    • 3. 配置 Kitchen
  5. Android Kitchen 核心概念
    • 1. 固件包类型
    • 2. Kitchen 目录结构简介
  6. Android Kitchen 详细使用流程
    • 1. 第一步:解包固件
    • 2. 第二步:修改固件 (最核心的步骤)
    • 3. 第三步:回包固件
  7. 常见修改操作示例
    • 1. 修改 build.prop
    • 2. 删除预装应用
    • 3. 修改开机动画
    • 4. 修改状态栏图标
  8. 高级功能
    • 1. 使用 Update-SuperSU 脚本获取 Root 权限
    • 2. 添加 Magisk 模块
  9. 常见问题与解决方法
  10. 总结与最佳实践

什么是 Android Kitchen?

Android Kitchen,全称 Android Kitchen Script,是一个基于 Linux Shell 脚本 的工具,它由著名的开发者 osm0sis 创建,旨在自动化 Android 固件的解包、修改和重新打包过程。

android kitchen教程-图1
(图片来源网络,侵删)

你可以把它想象成一个智能的厨房

  • 原材料:官方的 Android 固件包 (.zip 文件)。
  • 厨具:Kitchen 脚本和各种辅助工具。
  • 菜谱:你想要进行的修改 (如删除应用、修改系统属性等)。
  • 成品:经过你个性化定制的新固件包。

它极大地简化了原本需要手动使用大量命令行工具的复杂流程,让修改固件变得相对简单和高效。

谁需要使用 Android Kitchen?

Android Kitchen 主要面向以下用户群体:

  • Android 开发者/爱好者:希望深度定制自己的设备,例如修改系统文件、删除运营商预装应用、优化性能等。
  • ROM 制作者:在制作第三方 ROM (如 LineageOS, Pixel Experience) 时,用于自动化地集成补丁、应用、修改系统属性等。
  • 需要 Root 权限或刷入 TWRP 的用户:可以通过 Kitchen 方便地制作包含 recovery.imgboot.img 并带有 Root 权限的刷机包。

对于普通用户:如果你只是想简单 Root 手机或者刷个现成的第三方 ROM,直接使用 Magisk 或 TWRP 即可,不需要学习 Kitchen,Kitchen 是给那些喜欢“自己动手,丰衣足食”的用户准备的。

android kitchen教程-图2
(图片来源网络,侵删)

重要前提与风险提示 ⚠️

在使用 Android Kitchen 之前,你必须清楚以下几点:

  • 风险极高:错误的修改可能导致你的设备变砖(无法开机),虽然大多数情况下可以通过刷入原厂固件救回,但过程繁琐且有一定失败风险。
  • 失去保修:修改系统文件通常会使你的设备官方保修失效。
  • 数据丢失:在刷入任何自制固件之前,务必备份所有重要数据(联系人、短信、照片等),刷机过程通常会清空数据。
  • 学习曲线:虽然 Kitchen 简化了流程,但你仍然需要了解基本的 Android 系统结构和一些 Linux 命令。

免责声明: 所有操作风险自负,本教程仅用于学习和研究目的,请确保你的行为符合当地法律法规。


环境搭建:准备工作

你需要在 Linux 或 macOS 环境下运行 Android Kitchen,对于 Windows 用户,最简单的方法是安装一个虚拟机(如 VirtualBox)并安装一个 Linux 发行版(如 Ubuntu)。

1. 安装 Java Development Kit (JDK)

Kitchen 依赖于 Java 环境,在终端中执行以下命令安装 OpenJDK (以 Ubuntu 为例):

android kitchen教程-图3
(图片来源网络,侵删)
sudo apt update
sudo apt install openjdk-8-jdk

安装完成后,验证 Java 是否安装成功:

java -version

你应该能看到 Java 的版本信息。

2. 下载 Android Kitchen

使用 git 克隆最新的 Android Kitchen 仓库。git 可以让你方便地获取更新。

# 如果没有安装 git,先安装它
sudo apt install git
# 克隆仓库
git clone https://github.com/Android-Tools/kitchen.git

这会在当前目录下创建一个名为 kitchen 的文件夹。

3. 配置 Kitchen

进入 kitchen 目录并运行初始化脚本。

cd kitchen
./setup.sh

这个脚本会:

  1. 检查你的系统环境(Java, git 等)。
  2. 下载一些 Kitchen 依赖的工具和脚本,如 split_bootimg.pl, unmkbootimg, mkyaffs2image 等。
  3. 创建一个 working 目录,这是你后续操作的主要工作区。

Android Kitchen 核心概念

1. 固件包类型

Kitchen 主要处理两种类型的固件包:

  1. update.zip / OTA

    • 特点:通常是官方发布的增量或完整固件升级包。
    • Kitchen 处理方式:使用 kitchen -e ota 命令解包,解压后,主要文件位于 META-INF/com/google/android/ 目录下,如 updater-scriptupdate-binary
  2. firmware.zip / Full ROM

    • 特点:包含完整的系统分区 (system, boot, recovery 等),通常是我们从官网下载的完整固件。
    • Kitchen 处理方式:使用 kitchen -e stock 命令解包,解压后,你会得到独立的 system, boot, recovery 等文件夹。

2. Kitchen 目录结构简介

  • kitchen/: 主目录
    • tools/: 存放各种解包、打包、修改脚本的工具。
    • working/: 你的工作区,当你解包一个固件后,所有文件都会在这里。
      • META-INF/: 存放 update.zip 类型的脚本和二进制文件。
      • system/: 存放 system 分区的内容,是修改最频繁的地方。
      • boot.img, recovery.img: 存放引导分区的镜像文件。
    • other/: 存放一些可选的工具和模板,如 SuperSU/Magisk 的刷机脚本。

Android Kitchen 详细使用流程

假设你已经下载了一个官方固件 firmware.zip,并放在 kitchen 目录下。

1. 第一步:解包固件

打开终端,确保你在 kitchen 目录下,然后执行命令:

./kitchen -e stock -f ../firmware.zip
  • -e stock: 指定解包模式为 stock (完整固件)。
  • -f ../firmware.zip: 指定要解包的固件文件路径。 表示上一级目录。

脚本会自动解包,完成后,你可以在 working 目录下看到解压出来的文件和文件夹。

2. 第二步:修改固件 (最核心的步骤)

这是你发挥创意的地方,Kitchen 提供了一个交互式菜单来引导你。

kitchen 目录下,运行不带任何参数的命令:

./kitchen

你会看到主菜单:

Android Kitchen (c) 2011-2025, osm0sis
------------------------------------------
Main Menu
------------------------------------------
1) Setup
2) Update Kitchen
3) Exit
------------------------------------------
Choose:

选择 1 进入 Setup 菜单,然后选择 2 进入 Edit Device 菜单,你可以选择 working 目录中已经解包的设备(它会自动列出)。

进入设备编辑菜单后,你会看到各种选项:

Edit Device
------------------------------------------
1) Add/Remove files from system
2) Edit build.prop
3) Edit boot image
4) Edit recovery image
5) Edit META-INF updater-script
6) Create working folder from another device
7) Delete working folder
8) Exit
------------------------------------------
Choose:
  • 1) Add/Remove files from system: 添加或删除 system 分区中的文件,你可以删除 system/app/ 下的某个预装应用文件夹,或者从你的电脑拷贝一个 .apk 文件到 system/priv-app/ 目录下。
  • 2) Edit build.prop: 这是最常用的功能之一,它会打开一个文本编辑器(如 vinano),让你修改 system/build.prop 文件,从而改变系统属性(如修改 DPI、调整内存分配等)。
  • 3) Edit boot image: 编辑 boot.img,你可以选择刷入 Magisk 或 SuperSU 来获取 Root 权限。
  • 4) Edit recovery image: 编辑 recovery.img,你可以选择刷入 TWRP 等第三方 Recovery。
  • 5) Edit META-INF updater-script: 手动编辑 update.zip 的安装脚本,一般高级用户才需要。

修改完成后,保存文件并退出编辑器,然后返回主菜单。

3. 第三步:回包固件

当你所有的修改都完成后,回到主菜单 (./kitchen),选择 3) Exit

退出后,Kitchen 会自动检测到 working 目录有修改,并询问你是否要打包:

Working folder has been modified. Do you want to create a flashable zip?
(y/n)

输入 y 并回车。

它会让你输入新固件的名称(my_custom_rom.zip),然后开始打包过程,这个过程会调用相应的工具(如 mkyaffs2image 打包 system 分区,zip 命令生成最终的刷机包)。

打包成功后,你会在 kitchen 目录下找到新生成的 my_custom_rom.zip 文件,这个文件就是你的定制固件了!


常见修改操作示例

1. 修改 build.prop

Edit Device 菜单选择 2) Edit build.prop

  • 增加内存分配:找到 dalvik.vm.heapsizero.config.nocheckin 等行,修改其值。
  • 修改屏幕 DPI:找到 ro.sf.lcd_density,将其值改为你的屏幕 DPI (如 480)。
  • 开启硬件加速:添加 debug.hwui=1注意:错误的修改会导致系统无法启动,修改前最好先备份原文件。

2. 删除预装应用

Edit Device 菜单选择 1) Add/Remove files from system

  • 进入 system/app/system/priv-app/ 目录。
  • 找到你想要删除的应用文件夹(BloatwareApp)。
  • 使用 rm -rf BloatwareApp 命令将其彻底删除。
  • 同样,检查 system/framework/system/priv-app/ 等目录,有些应用可能藏在别处。

3. 修改开机动画

开机动画位于 system/media/bootanimation.zip

  1. 先删除原来的文件:rm system/media/bootanimation.zip
  2. 准备好你的新开机动画(确保它是一个 zip 文件,并且包含 desc.txtpart0, part1 等文件夹)。
  3. 将你的新 bootanimation.zip 拷贝到 system/media/ 目录下。
  4. 修改权限:chmod 644 system/media/bootanimation.zip

4. 修改状态栏图标

这通常需要修改 system/framework-res.apksystem/priv-app/SystemUI/SystemUI.apk 中的图片资源。

  1. 使用 apktool 反编译这些 APK 文件。
  2. res/drawable-xxxhdpi/ 目录下找到对应的图标文件(如 stat_sys_signal_4.xml)。
  3. 用你制作好的新图标替换它。
  4. 使用 apktool 重新编译回 APK 文件。
  5. 将新生成的 APK 文件放回 system/framework/system/priv-app/SystemUI/ 目录,并修改权限。 注意:修改 APK 比较复杂,需要一定的知识,并且签名问题需要处理。

高级功能

1. 使用 Update-SuperSU 脚本获取 Root 权限

这是 Kitchen 集成的经典 Root 方式。

  1. Edit Device 菜单选择 3) Edit boot image
  2. 选择 1) Add SuperSU
  3. Kitchen 会自动下载最新的 SuperSU zip 包,并引导你将其中的 boot.img 解包,然后将 SuperSU 的 su 二进制文件和 supersu.sh 脚本集成到你设备的 boot.img 中。
  4. 保存并退出,最后打包固件即可。

2. 添加 Magisk 模块

Magisk 是目前更主流的 Root 和系统修改方案,你可以将 Magisk 模块集成到固件中。

  1. Edit Device 菜单选择 3) Edit boot image
  2. 选择 2) Add Magisk
  3. Kitchen 会引导你刷入 Magisk 到 boot.img
  4. 你需要手动将 Magisk 模块的 .zip 文件解压,将其 module.propMETA-INF 等文件夹复制到 working 目录下的特定位置(具体可以查看 Kitchen 的提示或文档)。
  5. 打包时,这些模块文件会被一同打包进去。

常见问题与解决方法

  • Q: ./kitchen: command not found

    • A: 你没有在 kitchen 目录下运行,或者没有给脚本执行权限,使用 chmod +x kitchen 赋予执行权限,并在 kitchen 目录下运行 ./kitchen
  • Q: 解包时报错 "unzip: command not found"

    • A: 你的系统中没有安装 unzip,在 Ubuntu 上使用 sudo apt install unzip 安装。
  • Q: 打包时报错 "mkyaffs2image: command not found"

    • A: Kitchen 的 setup.sh 没有成功运行,或者缺少依赖,尝试重新运行 ./setup.sh,或者手动安装 yaffs2utils 相关工具。
  • Q: 刷入自制固件后开机卡在开机画面

    • A: 通常是 build.prop 修改错误或删除了系统关键文件,解决方法是:
      1. 进入 Recovery 模式。
      2. 清除缓存 (Wipe Cache Partition)。
      3. 如果不行,尝试清除数据 (Wipe Data/Factory Reset)。
      4. 如果还是不行,你需要刷回原厂固件救砖。

总结与最佳实践

  • 备份!备份!备份! 重要的事情说三遍,在修改任何东西之前,备份你的原厂固件和重要数据。
  • 从简单开始:第一次使用时,只做最简单的修改,比如只修改 build.prop 的一两个参数,确保你能成功打包并刷入。
  • 理解原理:不要盲目地复制粘贴别人的修改,尝试去理解每个修改的作用,这能帮助你避免错误,并做出自己的定制。
  • 善用搜索:遇到问题时,先在 Google、XDA Developers 论坛或国内相关论坛搜索,很可能别人已经遇到过并解决了。
  • 保持工具更新:定期运行 git pull 来更新你的 Android Kitchen,以获得对新设备的支持和最新的修复。

Android Kitchen 是一个非常强大的工具,掌握它能让你对 Android 系统有更深入的了解,祝你玩机愉快!

分享:
扫描分享到社交APP
上一篇
下一篇