http://www.cnblogs.com/xiaowenji/archive/2011/03/12/1982309.html
大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽。是否想过在Android上使用较完整的shell呢?用BusyBox吧。不论使用adb连接设备使用命令行还是在手机上直接用terminal emulator都可以。
一、什么是BusyBox ?
BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。(摘自百度百科)
二、在Android上安装BusyBox
准备:
0. 先要把手机给Root了,具体教程这里就不提供了,网上有很多。
1. 下载BusyBox的binary,打开这个地址 http://www.busybox.net/downloads/binaries ,选择最新版本,然后下载对应你的设备架构的版本,这里我下载了busybox-armv6l,下面将以这个文件名为示例。
2. 需要有一个命令行的环境,在电脑上使用adb或在手机上使用terminal emulator。
3. 连接手机和电脑,手机的USB Mode设置成None(仅充电),并且开启USB调试模式。
安装:
1. 将busybox-armv6l重命名为busybox
2. 将busybox传入手机的SD卡,可以使用下面的命令或自己想其他办法。
打开terminal(Linux,Mac)或cmd(Windows)
adb push ~/Desktop/busybox /mnt/sdcard
|
其中的~/Desktop请根据自己的情况替换成正确的路径
3. 输入以下命令,为了在/system目录写入文件
adb shell su mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 / system
|
使用 ls 检查一下 /system 里是否有 xbin 目录,没有的话输入 mkdir xbin 创建,因为本示例是要把busybox安装到 /system/xbin 。
4. 复制 busybox 文件到 /system/xbin,并为其分配“可执行”的权限
cp /mnt/sdcard/busybox / system /xbin
chmod 755 busybox
|
5. 这时就可以使用 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 来解决。
相关推荐
为Android加入busybox工具 为Android加入busybox工具
交叉编译后的busybox,版本1.19.4,可以在android linux shell环境下使用
Busybox.apk 可以应用于Android开发的工具
This application is an BusyBox installer for Android. BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities ...
busybox 1.20.2 for android. steps: adb remount adb push ./busybox-1.20.2-android2 /system/bin/ adb shell busybox ifconfig......
安装完成之后可以直接在shell下输入busybox来启动busybox。但是无法进行busybox的配置( make menuconfig )。 按照我的理解,此种方式是直接安装配置好的busybox。 2):在shell环境下执行命令:sudo apt-get source...
Busybox for Android v1.20.2 Stable built by Linus Yang [Aug 12, 2012 Update] - Update to 1.20.2 stable [Features] - Tested on Android 2.1, 2.3, 4.0 and 4.1. Should be capable with all Android ...
BusyBox文件系统编译与Shell编程
android可用的交叉编译后的busybox。支持70多个linux命令,可以极大扩展android命令集
busybox for android,编译器要用arm-eabi-4.4.0.tgz。 海天雄的android系统是没有busybox的。 Android并没有采用glibc作为C库,而是采用了Google自己开发的Bionic Libc,它的官方Toolchain也是基于Bionic Libc而并非...
用busybox加持的功能更加强大的adb shell;不需要root
简单地说,BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令,也包含了 Android 系统的自带的shell。 Android busybox 的一个实用功能:进入adb shell 后编辑一些本地的文件,比如系统的一些xml配置...
Android系统编译好的可用Busybox工具。 BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件...简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。
最可靠,最先进的Android BusyBox安装程序。 目前在Google Play上提供BusyBox: 请加入这个,成为测试版。资料下载阿比尺寸MD5 下载手臂1048 2dd534732ee7b304f773464f627dde9e 的ARM64 1500 28f0328418cafba5c294b9...
busybox虽然强大但是没有bash,只有ash和sh,使用起来不够强大,因此在网上查到了如何编译android下的gnu bash。
BusyBox安装程序是适用于Android的一键式BusyBox安装实用程序。 下载 要求 根访问权限 特征 一键安装BusyBox。 支持 报告错误或请求功能 您可以通过来报告错误或请求功能。 笔译 请帮助我通过POEditor翻译此应用程序...
替换android默认的busybox,支持tab补全,比android自带shell好用多了
adb push busybox /system/
简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。 ———————————————— 版权声明:本文为CSDN博主「沧海一笑-dj」的原创文章,遵循CC ...
在android端使用busybox工具,可将附件的busybox复制到手机的system/xbin/目录下,修改权限之后就可以使用busybox,这样可以使用在android上很多linux命令