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的Linux shell环境中,BusyBox提供了大量的基本命令,如ls、cd、cp、mv等,使得开发者和高级用户可以在没有完整Linux发行版的情况下,进行文件管理、系统维护和故障排查。这对于设备调试、软件开发、系统...
### 为Android加入BusyBox工具详解 #### 一、引言 BusyBox是Linux系统中的一个集成工具包,它将许多标准Unix工具的功能合并到一个单一的可执行文件中。对于Android开发人员来说,BusyBox提供了强大的命令行功能,极...
本文将详细介绍如何在Android设备上替换默认的`BusyBox`,并将其设置为默认的shell,以实现tab补全等增强功能。 首先,替换Android默认`BusyBox`的步骤包括: 1. **下载预编译版**:你可以选择从特定源(如 ...
在Android平台上,GNU Bash的编译是一个相对复杂的过程,因为Android原生系统主要依赖于 BusyBox 中的ash或sh shell,这些shell相比GNU Bash功能较为有限。GNU Bash是一款功能丰富的命令行解释器,广泛用于Linux和...
通过将BusyBox安装到Android设备上,我们可以访问更多Linux命令,进而扩展ADB Shell的能力。这个方法尤其适用于那些没有root权限的设备,因为直接root设备可能会导致保修失效或者设备安全风险。 下面我们将深入探讨...
Busybox.apk 可以应用于Android开发的工具
5. **安装**:编译成功后,使用`make install`将 Busybox 安装到指定的目标目录,通常是在交叉编译环境下模拟的Android文件系统结构。 6. **验证**:将编译好的Busybox复制到Android设备上,通过`adb push`命令传输...
在标题"busybox-linux-e680.rar_E680_android e680 patch_busybox_busybox E"中,我们可以看出这个压缩包是为E680手机定制的Android系统补丁,其中包含了用于替换原生shell的Busybox工具。 E680是一款基于Linux操作...
"busbox android shell" 是一个针对Android系统的命令行工具集,主要基于开源项目BusyBox实现。BusyBox是一款轻量级的Unix工具集合,它将许多常见的Linux命令打包在一个小型可执行程序中,非常适合资源有限的嵌入式...
本文旨在详细介绍如何将BusyBox工具集成到Android系统中,为开发者提供更为便捷的命令行操作环境。 #### 二、BusyBox简介 BusyBox是一款用于嵌入式系统的工具集合,它将许多标准的GNU/Linux工具合并为一个单一的可...
在 Android 系统中,Busybox 提供了与传统 Linux shell 类似的环境,使得开发者和高级用户能够在没有完整 Linux 工具链的设备上执行各种系统级任务。 标题 "busybox_android" 暗示这可能是专门为 Android 平台编译...
接下来,为了在非root设备上安装tcpdump,我们需要使用Android的`busybox`工具,它是一个包含了各种Linux命令的精简版实现。首先,将busybox的apk文件传输到设备上,可以使用adb的push命令: ```bash adb push ...
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......
4. **Android Terminal Emulator**:对于普通用户,可以在设备上安装终端模拟器应用,如Terminal Emulator for Android,直接在设备上输入并执行shell命令。 执行shell命令时,需要注意以下几点: - **权限**:...
用户可以通过第三方应用市场下载并安装专门为Android优化的Busybox版本。安装完成后,需通过终端模拟器(如Termux)或其它shell环境来运行Busybox命令。 安装步骤通常包括: 1. 下载 Busybox 的 APK 文件到手机。 2...
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安装程序是适用于Android的一键式BusyBox安装实用程序。 下载 要求 根访问权限 特征 一键安装BusyBox。 支持 报告错误或请求功能 您可以通过来报告错误或请求功能。 笔译 请帮助我通过POEditor翻译此应用程序...
简单地说,BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令,也包含了 Android 系统的自带的shell。 Android busybox 的一个实用功能:进入adb shell 后编辑一些本地的文件,比如系统的一些xml配置...