[Android] 为Android安装BusyBox —— 完整的bash shell(收藏用)

大家是否有过这样的经历,在命令行里输入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] 为Android安装BusyBox —— 完整的bash shell(收藏用)

时间: 2024-11-04 01:10:55

[Android] 为Android安装BusyBox —— 完整的bash shell(收藏用)的相关文章

为Android安装BusyBox —— 完整的bash shell【转】

http://www.cnblogs.com/xiaowenji/archive/2011/03/12/1982309.html 大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽.是否想过在Android上使用较完整的shell呢?用BusyBox吧.不论使用adb连接设备使用命令行还是在手机上直接用terminal emulator都可以. 一.什么是BusyBox ? BusyBox 是标

查看当前android设备已安装的第三方包

查看当前android设备已安装的第三方包 adb shell pm list package -3 2        adb shell "getprop ro.build.version.sdk"

android安装busybox

大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽.是否想过在Android上使用较完整的shell呢?用BusyBox吧.不论使用adb连接设备使用命令行还是在手机上直接用terminal emulator都可以. 一.什么是BusyBox ? BusyBox 是标准 Linux 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复

Android 手机上安装并运行 Ubuntu 12.04(转,没实测)

设备需要root权限,并且安装了BusyBox最小 1GHz 处理器(推荐)Android 系统版本 2.1 或以上Android 设备需要自定义的ROM固件SD卡至2.5GB (安装大映像的需要3.5GB)设备需要支持WIFI (这个用于其他设备通过WIFI登录)支持 Ext2 文件系统(大部分 Android 设备应该都支持)我的设备手机型号:Mi-One Plus处理器主频:1.5GHz * 2SD卡:16G class 4系统ROM:MIUI_v4_2.8.10BusyBox版本:1.2

Android SDK离线安装

Android SDK离线安装是本文要介绍的内容,主要是来了解并学习Android SDK安装的内容,具体关于Android SDK是如何离线安装的内容来看本文详解. Android开发环境,完整的说包括JDK,Eclipse,AndroidSDK和ADTplugin.四个之中最麻烦的就是Android SDK的安装,现在google的策略是将SDK和platform分离开来,所以在线安装Android SDK的时候会让你选择需要选择platform版本和SDK其他组件的版本. Android

在Android手机上安装linux系统

在anroid手机中安装fedora系统.记住不只是教你安装fedora系统. 需要的备注与软件 1.一个已经root的Android手机,记住是root后的,root后的,root后的.(重要的事情说3遍) 2.终端模拟器 :用于运行 shell 脚本(这是安装在Android手机上的apk) 3.BusyBox :用于提供 shell 命令的支持(这是安装在Android手机上的apk) 4.fedora系统的映像文件(下载地址:http://sourceforge.net/projects

[Android Pro] Android权限设置android.permission完整列表

android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问"properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded) android.permission.ACCESS_COARSE_LOCATION允许一个程序访问Cel

在Android系统上安装linux发行版

Install linux distribution (Debian/Ubuntu/Kali Linux/Fedora/openSUSE/Gentoo/RootFS/Arch Linux) on Android system (Debian/Ubuntu/Kali Linux/Fedora/openSUSE/Gentoo/RootFS/Arch Linux) 1.所用的手机类型为Samsung Note2 Verizon i605 2.首先对自己的手机做下清理,将SD卡至少剩余4G以上空间: 3

Android模拟器Genymotion安装使用教程详解

一.注册\登录 打开Genymotion官网,https://www.genymotion.com/ ,首先点击右上角的Sign in进行登录操作.如何登录就不细讲了,下面讲一下如何注册(备注:注册按钮在登录界面中). 注册 如果没有账号,则需要先注册.在登录界面,点击Create an account按钮打开注册界面. 注册界面如下:(使用谷歌浏览器翻译后的界面) 按照上面的提示输入相关内容,需要注意的是输入邮箱和密码后,系统会发送一封邮件到你邮箱,请一定要去验证.注意:一定要进行验证!!!