BusyBox Android 安装选项 Symlinks Replace Recovery Mode
三种安装模式
BusyBox Pro 等 Android 安装应用提供了三种安装选项,核心区别是"安装到哪里"和"是否替换已有工具":

模式一:符号链接模式(Install Applets)
这是最推荐的方式:
- BusyBox 二进制安装到
/system/xbin/busybox(或你指定的路径) - 每个 Applet 在同一目录创建符号链接指向 busybox
- 优点:干净、可卸载、不会覆盖系统原有工具
- 缺点:某些脚本硬编码了
/system/bin路径,可能找不到工具
# 安装后 Android 上的目录结构
/system/xbin/busybox # 主二进制
/system/xbin/ls -> busybox # 每个 Applet 是符号链接
/system/xbin/cat -> busybox
/system/xbin/sh -> busybox
# ... 几百个符号链接
模式二:替换模式(Replace Applets)
这个选项会把 BusyBox 工具直接覆盖写入 /system/bin:
- 替换系统自带的 toybox(现代 Android 系统用 toybox 代替传统工具集)或其他已有工具
- 优点:脚本不需要改路径,直接就能用
- 缺点:风险高——系统级修改,出问题很难恢复;某些系统工具(如 selinux)依赖 toybox 特有行为
不推荐在日常使用中开启。只有在明确知道自己在做什么时才用。
模式三:Recovery 模式(Recovery mode)
在 Android 系统完全无法启动但 recovery 分区还能进入时,通过 recovery 模式安装 BusyBox:
- 不依赖系统分区可写
- BusyBox 写入 recovery 可访问的分区
- 通常用来在系统挂掉时进行救援——手动挂载分区、备份数据、恢复系统
一般日常使用不需要开这个选项,除非系统出问题需要救援。
安装路径选择
BusyBox Pro 默认建议路径 /system/xbin,也可以手动改:
| 路径 | 适合场景 | 备注 |
|---|---|---|
| /system/xbin | 绝大多数 Android 设备 | 默认,不冲突 |
| /sbin | 少数老设备 | 某些 root 方案默认路径 |
| /system/bin | 替换模式下 | 风险高,toybox 共存时行为不确定 |
| /data/local/bin | /system 只读时 | 软重启后可能丢失,需要 rc.local 恢复 |
PATH 优先级:Android 的 PATH 顺序通常是 /system/bin:/system/xbin:/sbin:/vendor/bin。如果 BusyBox 和系统原有工具同名,PATH 在前的优先执行。这就是为什么推荐装到 /system/xbin——它在 /system/bin 之后,不会意外覆盖系统工具。
安装后的验证
安装完成后,在 root shell 里验证:
su -c 'busybox ls'
# 应该输出 busybox 自己的 ls 实现(行为和 toybox 可能不同)
su -c 'which busybox'
# 确认安装路径
su -c 'busybox --list | wc -l'
# 确认 Applet 数量(通常 250+)
su -c 'busybox sh -c "echo hello from busyboy"'
# 测试 ash shell 能不能用
卸载
BusyBox Pro 应用自带卸载按钮(UNINSTALL),会清理安装时创建的符号链接和二进制。如果应用本身被删了,可以手动清理:
su -c 'cd /system/xbin && for f in $(busybox --list); do rm -f "$f"; done'
su -c 'rm -f /system/xbin/busybox'