目录
- 什么是 Android Kitchen?
- 谁需要使用 Android Kitchen?
- 重要前提与风险提示
- 环境搭建:准备工作
- 1. 安装 Java Development Kit (JDK)
- 2. 下载 Android Kitchen
- 3. 配置 Kitchen
- Android Kitchen 核心概念
- 1. 固件包类型
- 2. Kitchen 目录结构简介
- Android Kitchen 详细使用流程
- 1. 第一步:解包固件
- 2. 第二步:修改固件 (最核心的步骤)
- 3. 第三步:回包固件
- 常见修改操作示例
- 1. 修改 build.prop
- 2. 删除预装应用
- 3. 修改开机动画
- 4. 修改状态栏图标
- 高级功能
- 1. 使用 Update-SuperSU 脚本获取 Root 权限
- 2. 添加 Magisk 模块
- 常见问题与解决方法
- 总结与最佳实践
什么是 Android Kitchen?
Android Kitchen,全称 Android Kitchen Script,是一个基于 Linux Shell 脚本 的工具,它由著名的开发者 osm0sis 创建,旨在自动化 Android 固件的解包、修改和重新打包过程。

你可以把它想象成一个智能的厨房:
- 原材料:官方的 Android 固件包 (
.zip文件)。 - 厨具:Kitchen 脚本和各种辅助工具。
- 菜谱:你想要进行的修改 (如删除应用、修改系统属性等)。
- 成品:经过你个性化定制的新固件包。
它极大地简化了原本需要手动使用大量命令行工具的复杂流程,让修改固件变得相对简单和高效。
谁需要使用 Android Kitchen?
Android Kitchen 主要面向以下用户群体:
- Android 开发者/爱好者:希望深度定制自己的设备,例如修改系统文件、删除运营商预装应用、优化性能等。
- ROM 制作者:在制作第三方 ROM (如 LineageOS, Pixel Experience) 时,用于自动化地集成补丁、应用、修改系统属性等。
- 需要 Root 权限或刷入 TWRP 的用户:可以通过 Kitchen 方便地制作包含
recovery.img或boot.img并带有 Root 权限的刷机包。
对于普通用户:如果你只是想简单 Root 手机或者刷个现成的第三方 ROM,直接使用 Magisk 或 TWRP 即可,不需要学习 Kitchen,Kitchen 是给那些喜欢“自己动手,丰衣足食”的用户准备的。

重要前提与风险提示 ⚠️
在使用 Android Kitchen 之前,你必须清楚以下几点:
- 风险极高:错误的修改可能导致你的设备变砖(无法开机),虽然大多数情况下可以通过刷入原厂固件救回,但过程繁琐且有一定失败风险。
- 失去保修:修改系统文件通常会使你的设备官方保修失效。
- 数据丢失:在刷入任何自制固件之前,务必备份所有重要数据(联系人、短信、照片等),刷机过程通常会清空数据。
- 学习曲线:虽然 Kitchen 简化了流程,但你仍然需要了解基本的 Android 系统结构和一些 Linux 命令。
免责声明: 所有操作风险自负,本教程仅用于学习和研究目的,请确保你的行为符合当地法律法规。
环境搭建:准备工作
你需要在 Linux 或 macOS 环境下运行 Android Kitchen,对于 Windows 用户,最简单的方法是安装一个虚拟机(如 VirtualBox)并安装一个 Linux 发行版(如 Ubuntu)。
1. 安装 Java Development Kit (JDK)
Kitchen 依赖于 Java 环境,在终端中执行以下命令安装 OpenJDK (以 Ubuntu 为例):

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
这个脚本会:
- 检查你的系统环境(Java, git 等)。
- 下载一些 Kitchen 依赖的工具和脚本,如
split_bootimg.pl,unmkbootimg,mkyaffs2image等。 - 创建一个
working目录,这是你后续操作的主要工作区。
Android Kitchen 核心概念
1. 固件包类型
Kitchen 主要处理两种类型的固件包:
-
update.zip/OTA包:- 特点:通常是官方发布的增量或完整固件升级包。
- Kitchen 处理方式:使用
kitchen -e ota命令解包,解压后,主要文件位于META-INF/com/google/android/目录下,如updater-script和update-binary。
-
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: 这是最常用的功能之一,它会打开一个文本编辑器(如
vi或nano),让你修改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.heapsize或ro.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。
- 先删除原来的文件:
rm system/media/bootanimation.zip。 - 准备好你的新开机动画(确保它是一个
zip文件,并且包含desc.txt和part0,part1等文件夹)。 - 将你的新
bootanimation.zip拷贝到system/media/目录下。 - 修改权限:
chmod 644 system/media/bootanimation.zip。
4. 修改状态栏图标
这通常需要修改 system/framework-res.apk 或 system/priv-app/SystemUI/SystemUI.apk 中的图片资源。
- 使用
apktool反编译这些 APK 文件。 - 在
res/drawable-xxxhdpi/目录下找到对应的图标文件(如stat_sys_signal_4.xml)。 - 用你制作好的新图标替换它。
- 使用
apktool重新编译回 APK 文件。 - 将新生成的 APK 文件放回
system/framework/或system/priv-app/SystemUI/目录,并修改权限。 注意:修改 APK 比较复杂,需要一定的知识,并且签名问题需要处理。
高级功能
1. 使用 Update-SuperSU 脚本获取 Root 权限
这是 Kitchen 集成的经典 Root 方式。
- 在
Edit Device菜单选择3) Edit boot image。 - 选择
1) Add SuperSU。 - Kitchen 会自动下载最新的 SuperSU
zip包,并引导你将其中的boot.img解包,然后将 SuperSU 的su二进制文件和supersu.sh脚本集成到你设备的boot.img中。 - 保存并退出,最后打包固件即可。
2. 添加 Magisk 模块
Magisk 是目前更主流的 Root 和系统修改方案,你可以将 Magisk 模块集成到固件中。
- 在
Edit Device菜单选择3) Edit boot image。 - 选择
2) Add Magisk。 - Kitchen 会引导你刷入 Magisk 到
boot.img。 - 你需要手动将 Magisk 模块的
.zip文件解压,将其module.prop和META-INF等文件夹复制到working目录下的特定位置(具体可以查看 Kitchen 的提示或文档)。 - 打包时,这些模块文件会被一同打包进去。
常见问题与解决方法
-
Q:
./kitchen: command not found- A: 你没有在
kitchen目录下运行,或者没有给脚本执行权限,使用chmod +x kitchen赋予执行权限,并在kitchen目录下运行./kitchen。
- A: 你没有在
-
Q: 解包时报错 "unzip: command not found"
- A: 你的系统中没有安装
unzip,在 Ubuntu 上使用sudo apt install unzip安装。
- A: 你的系统中没有安装
-
Q: 打包时报错 "mkyaffs2image: command not found"
- A: Kitchen 的
setup.sh没有成功运行,或者缺少依赖,尝试重新运行./setup.sh,或者手动安装yaffs2utils相关工具。
- A: Kitchen 的
-
Q: 刷入自制固件后开机卡在开机画面
- A: 通常是
build.prop修改错误或删除了系统关键文件,解决方法是:- 进入 Recovery 模式。
- 清除缓存 (
Wipe Cache Partition)。 - 如果不行,尝试清除数据 (
Wipe Data/Factory Reset)。 - 如果还是不行,你需要刷回原厂固件救砖。
- A: 通常是
总结与最佳实践
- 备份!备份!备份! 重要的事情说三遍,在修改任何东西之前,备份你的原厂固件和重要数据。
- 从简单开始:第一次使用时,只做最简单的修改,比如只修改
build.prop的一两个参数,确保你能成功打包并刷入。 - 理解原理:不要盲目地复制粘贴别人的修改,尝试去理解每个修改的作用,这能帮助你避免错误,并做出自己的定制。
- 善用搜索:遇到问题时,先在 Google、XDA Developers 论坛或国内相关论坛搜索,很可能别人已经遇到过并解决了。
- 保持工具更新:定期运行
git pull来更新你的 Android Kitchen,以获得对新设备的支持和最新的修复。
Android Kitchen 是一个非常强大的工具,掌握它能让你对 Android 系统有更深入的了解,祝你玩机愉快!
