教育/57MB
BusyBox工具箱(Linux 系统的瑞士军刀)是一款具有强大的服务安装工具,在BusyBox工具箱中文版app中,用户可以轻松使用自带的程序进行搞机玩机,多种模式、可以直接一键式操作,快下载BusyBox工具箱试试吧!
一般在Android上,用于解决adbshell命令不全问题。
在Android安装BusyBox:
先要把手机给Root了,具体教程这里就不提供了,网上有很多。
下载BusyBox的binary,打开这个地址 Index of /downloads/binaries ,选择最新版本,然后下载对应你的设备架构的版本,比如下载了busybox-armv6l。
需要有一个命令行的环境,在电脑上使用adb或在手机上使用terminal emulator。
连接手机和电脑,手机的USB。
安装:
将busybox-armv6l重命名为busybox
将busybox传入手机的SD卡,可以使用下面的命令或自己想其他办法。
打开terminal(Linux,Mac)或cmd(Windows)
adb push ~/Desktop/busybox /mnt/sdcard
其中的~/Desktop请根据自己的情况替换成正确的路径
输入以下命令,为了在/system目录写入文件
adb shellsumount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
使用 ls 检查一下 /system 里是否有 xbin 目录,没有的话输入 mkdir xbin 创建,因为本示例是要把busybox安装到 /system/xbin 。
复制 busybox 文件到 /system/xbin,并为其分配“可执行”的权限
cp /mnt/sdcard/busybox /system/xbinchmod 755 busybox
这时就可以使用 busybox 的命令了,例如以前没有清屏的clear命令,现在只需输入 busybox clear 就可以实现清屏功能,使用完整版的 ls 只需输入 busybox ls 。
但是每次前面都加上个busybox太麻烦了,所以我们还要继续完成安装。
在 /system/xbin 下输入
busybox --install .
如果想安装到别的目录,则把点替换成别的路径。
至此就安装完成了,比较一下原来的 ls 命令和 busybox 里的 ls 命令。
常见错误:
1. 如果安装时出现这样的错误,
busybox: /bin/zcat: No such file or directory busybox: /sbin/zcip: Invalid cross-device link
说明没有输入安装路径,正确的示例 busybox --install /system/xbin
2. 如果出现这样的错误,
cp: /system/xbin/busybox: Read-only file system
说明没有正确输入上面第三步的mount命令。
小技巧:
1. busybox 里有 ash 和 hush 还有 sh 这几种 shell,在命令行输入 ash 或 hush,可以像在 bash 里那样,通过按上下键选择刚才输入的命令。
2. android系统本身就有ls命令,busybox里也有ls,输入ls时调用的是android的ls,那么想用busybox的ls就要每次都在前面加个busybox吗?不用,使用alias命令可以搞定。
alias ls='busybox ls'
同样的,cp、mv等二者都有的命令都可以这样搞定。也可以通过修改 /init.rc 来解决。
为什么在嵌入式系统中使用 BusyBox?
在嵌入式linux领域,BusyBox被广泛使用,其理由可以总结为以下两点:
减小文件尺寸
在嵌入式系统中,做为文件系统保存的辅助记忆装置,考虑到信赖性和成本问题,Flash ROM被经常使用(数Mbytes~数十Mbytes)。这一来就限制了辅助记忆装置的容量大小。
作为嵌入式的工程师,你是否也是是追求最小尺寸的系统,和最优化的性能組呢?通常,linux系统中导入了很多的命令。
这些命令中也许有许多你不需要的,或者命令中不需要的参数,又或者虽是不同命令却拥有相同的处理函数,对于嵌入式系统来说,这些都是没用的资源浪费。另外在这之上,每个命令若要执行,系统还需要一个管理信息(2~4kbytes),随着命令的增多,这个尺寸也是非常可观的。
正是由于这些原因,BusyBox将没用的功能彻底的去处,管理信息也做到只有一个,这样最大限度的节省了文件的尺寸。
减轻编译工作量
如果是为PC安装程序,只要将二进制文件安装在Linux分区上面即可。但是,在嵌入式系统上,由于硬件,和其用途多种多 样,是不会有那样的二进文件的。所以,为了使用不同的应用程序,必须从不同的源代码来编译。并且,根据不同应用程序的 需要,编译的方法也可能不同,使编译工作变得更加繁琐。
另一方面,BusyBox自己就集成了各种应用程序的功能,所以说只要编译了BusyBox,就解决了很多的编译问题。
什么是 BusyBox?
BusyBox 是一个小型可执行文件,它结合了许多常见 UNIX 实用程序的微小版本。它为您通常在 GNU coreutils 中找到的大多数实用程序提供了极简的替代品。
为什么我需要 BusyBox?
大多数使用 root 访问权限的应用程序需要 BusyBox 才能正常运行。BusyBox 对开发人员或高级用户很有用,因为它提供了许多 Android 工具箱没有的实用程序。
运行 Shell 脚本
通过运行 shell 脚本来利用 BusyBox 的强大功能。您可以添加自己的内容并与社区分享。
代码编辑器
适用于 Android 的 BusyBox 带有一个智能代码编辑器,具有多种语言的语法突出显示。
材料设计
BusyBox for Android 是目前同类应用中唯一一个使用 Material Design 实现漂亮界面的应用。您可以根据自己的喜好自定义主题。