BusyBox是何方神圣?

1.概念

BusyBox 是一个集成了300多个常用 Linux 命令(例如:clear、mount、telnet、grep等)和工具的单一可执行文件,常用于嵌入式 Linux 系统,如 Android。

它虽然很小,但提供了许多命令行的功能,被称作Linux工具里的瑞士军刀。

BusyBox内置了ash、hush、sh等多套不同的shell环境。

BusyBox与ToyBox(轻量级的Linux命令行工具集合)类似。

2.在 Android 上使用 BusyBox 的步骤

1)获取 BusyBox

你可以根据Android系统的CPU架构(例如armeabi-v7a或arm64-v8a等)从 BusyBox 的官方网站(例如:https://busybox.net/downloads/binaries/)或源代码仓库下载源代码。

编译 BusyBox 以适应你的 Android 系统。这通常涉及到配置编译选项,以确保生成的 BusyBox 可执行文件与你的 Android 系统的CPU架构(如 ARM、x86、x64 等)相匹配。

配置编译选项的方法:

执行`make defconfig`生成一个默认的配置文件`.config`,然后执行`make menuconfig`打开图形配置界面,这里需要选择“Build BusyBox as a static binary (no shared libs)”选项,以编译成一个静态链接的可执行文件,避免运行时依赖其他库。

2)将 BusyBox 安装到 Android 设备

将编译好的 BusyBox 可执行文件复制到你的 Android 设备上。这可以通过 ADB(Android Debug Bridge)或直接将文件复制到设备的文件系统来完成。

你可能需要将 BusyBox 文件复制到设备的某个特定位置,例如 /system/bin 或 /system/xbin,以便可以在命令行中直接调用。但是,这通常需要 root 权限。若不需root权限,可以复制到/vendor/bin目录或其他不需root的目录下。

如果设备未root,可以将BusyBox命令安装到可以读、写、执行的普通目录下,如/data/tool/busybox,并添加到系统环境变量里。命令如下:

adb shell

cd /data/tool/busybox

#给所有用户增加读、写、执行权限

chmod a+rwx busybox

./busybox --install ./

export PATH=/data/tool/busybox:$PATH

如需环境变量永久生效,可以将上一句代码写入/etc/profile文件,并使用source /etc/profile命令让配置文件生效。

若需验证是否安装成功BusyBox,可以执行命令adb shell busybox查看返回结果。

安装后,Android系统里就拥有了2套命令行程序,一个是Android原生的,一个是BusyBox的。

3)为 BusyBox 创建软链接

由于 BusyBox 本身只是一个单一的可执行文件,但它提供了许多不同的命令,因此你需要为每个命令创建一个指向 BusyBox 的软链接。这可以通过为Android系统自带命令创建符号链接来完成。

例如,要为 ls 命令创建软链接,你可以执行 ln -s /data/tool/busybox/busybox ls。

4)使用 BusyBox

若要调用wget命令,可以执行:

busybox wget

wget

3.注意事项

修改 Android 系统的 /system 分区通常需要 root 权限,可以使用adb root即adb remount命令来获取访问权限。

如果你没有 root 权限,你可能无法使用 BusyBox 替换系统默认的命令。


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值