转自:http://blog.csdn.net/lxgwm2008/article/details/38925051

busybox号称Linux平台的瑞士军刀,它集成了100多个最常用的Linux命令和工具的软件。其中包含一些常用的工具,如ls,cat,echo等等;也包含了一些更强大,更复杂的工具,如grep,find,mount,telnet等等。这些工具在标准Linux系统上都有,但Android系统却去掉了其中的大部分工具,所以在调试和研究Android系统时有些不方便。为此,我们需要自己手动安装busybox。

1. 首先,拥有一台root过的Android手机。

2. 下载busybox。
下载地址:http://www.busybox.net/downloads/binaries/1.21.1/
(目前最新版是1.21.1)
打开网页后可以看到busybox支持了各种不同的arch,这里需要选择跟手机arch一致的版本。
我的手机是arm-v7,因此选择busybox-armv7l。

3. 安装busybox
将下载的busybox-armv7l改名为busybox,然后push到手机的/system目录下:

  1. adb push busybox /system

注:
a)如果遇到提示说没有权限,请先执行su
b)如果提示Read-only file system,则需要将/system目录重新挂在为可读写方式。具体可参考:http://blog.csdn.net/lxgwm2008/article/details/19044377

push成功后,开始安装busybox:

  1. chmod 755 busybox
  2. busybox --install

此命令将busybox默认安装到/usr/bin目录下。有些手机没有这个目录,比如我的Note 3,其目录是/system/bin,这是需要更改默认安装目录:

  1. busybox --install /system/bin

安装成功后,执行busybox命令,会有如下提示:

  1. shell@hlte:/ $ busybox
  2. busybox
  3. BusyBox v1.21.1 (2013-07-08 10:26:30 CDT) multi-call binary.
  4. BusyBox is copyrighted by many authors between 1998-2012.
  5. Licensed under GPLv2. See source distribution for detailed
  6. copyright notices.
  7. Usage: busybox [function [arguments]...]
  8. or: busybox --list[-full]
  9. or: busybox --install [-s] [DIR]
  10. or: function [arguments]...
  11. BusyBox is a multi-call binary that combines many common Unix
  12. utilities into a single executable.  Most people will create a
  13. link to busybox for each function they wish to use and BusyBox
  14. will act like whatever it was invoked as.
  15. Currently defined functions:
  16. [, [[, acpid, add-shell, addgroup, adduser, adjtimex, arp, arping, ash,
  17. awk, base64, basename, beep, blkid, blockdev, bootchartd, brctl,
  18. bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod,
  19. chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
  20. conspy, cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd,
  21. deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay, diff,
  22. dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap,
  23. dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
  24. expand, expr, fakeidentd, false, fbset, fbsplash, fdflush, fdformat,
  25. fdisk, fgconsole, fgrep, find, findfs, flock, fold, free, freeramdisk,
  26. fsck, fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty,
  27. grep, groups, gunzip, gzip, halt, hd, hdparm, head, hexdump, hostid,
  28. hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifenslave,
  29. ifplugd, ifup, inetd, init, insmod, install, ionice, iostat, ip,
  30. ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel,
  31. kbd_mode, kill, killall, killall5, klogd, last, less, linux32, linux64,
  32. linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread,
  33. losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat,
  34. lzma, lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg,
  35. microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix,
  36. mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more,
  37. mount, mountpoint, mpstat, mt, mv, nameif, nanddump, nandwrite,
  38. nbd-client, nc, netstat, nice, nmeter, nohup, nslookup, ntpd, od,
  39. openvt, passwd, patch, pgrep, pidof, ping, ping6, pipe_progress,
  40. pivot_root, pkill, pmap, popmaildir, poweroff, powertop, printenv,
  41. printf, ps, pscan, pstree, pwd, pwdx, raidautorun, rdate, rdev,
  42. readahead, readlink, readprofile, realpath, reboot, reformime,
  43. remove-shell, renice, reset, resize, rev, rm, rmdir, rmmod, route, rpm,
  44. rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script,
  45. scriptreplay, sed, sendmail, seq, setarch, setconsole, setfont,
  46. setkeycodes, setlogcons, setserial, setsid, setuidgid, sh, sha1sum,
  47. sha256sum, sha3sum, sha512sum, showkey, slattach, sleep, smemcap,
  48. softlimit, sort, split, start-stop-daemon, stat, strings, stty, su,
  49. sulogin, sum, sv, svlogd, swapoff, swapon, switch_root, sync, sysctl,
  50. syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp,
  51. tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true,
  52. tty, ttysize, tunctl, udhcpc, udhcpd, udpsvd, umount, uname, unexpand,
  53. uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, users, usleep,
  54. uudecode, uuencode, vconfig, vi, vlock, volname, wall, watch, watchdog,
  55. wc, wget, which, who, whoami, whois, xargs, xz, xzcat, yes, zcat, zcip
  56. shell@hlte:/ $

开始享受随心所欲的自由吧!

给Android系统安装busybox的更多相关文章

  1. android安装busybox

    大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽.是否想过在Android上使用较完整的shel ...

  2. Android安装BusyBox(三星N7108)

    近期公司安卓app测试,分配任务为监控APP内存.CPU占用率.因安卓是基于linux开发,故很容易就联想使用Linux监控相关的命令.想法总是美好的,现实总是残酷的,使用三星 Galaxy Note ...

  3. 为Android安装BusyBox

    大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽.是否想过在 Android上使用较完整的she ...

  4. Android移植busybox

    Android 的toolbox没有自动补齐,命令少,对于开发人员还是需要busybox,直接移植官方的busybox会有很多问题,主要是因为基于Android的交叉编译工具并没有采用glibc作为C ...

  5. android版本 busybox

    http://www.busybox.net/downloads/binaries/1.21.1/  根据不同的平台选择busybox已经编译好的

  6. 打开Android系统安装APK的页面

    //使用隐式意图开启安装APK的Activity Intent intent = new Intent("android.intent.action.VIEW"); intent. ...

  7. Android驱动调试利器Busybox之初体验

    工欲善其事必先利其器,之前做WinCE开发时,经常写一些小工具以提高开发调试的效率,如WinCE驱动调试助手.WinCE串口调试助手.WinCE6.0寄存器访问工具.WinCE远程桌面助手和S3C24 ...

  8. 采用busybox 代替android 自带的shell

    折腾了几天,被Android那点儿少得可怜的shell命令折磨的死去活来,终于下定了革命的决心.看一下怎么把渺小的toolbox替换成伟大的busybox吧.先大致描述一下Android系统中的she ...

  9. android Toolbox和BusyBox

    在安卓系统中,Toolbox是能够实现内存的管理,备份管理和清除数据等功能的系统文件.用来对手机性能进行设置,需要root权限.能够被软件调用. 我们在updater-script文件中,知道有类似s ...

随机推荐

  1. hdu3415 单调队列

    Max Sum of Max-K-sub-sequence Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  2. c# Linq查询

    c#提供的ling查询极大的遍历了集合的查询过程,且使用简单方便,非常的有用. 下面将分别用简单的例子说明:ling基本查询.延迟查询属性.类型筛选.复合from字句.多级排序.分组查询.联合查询.合 ...

  3. Code[VS] 3123 高精度练习之超大整数乘法

    FFT 做 高精度乘法 #include <bits/stdc++.h> ); struct complex { double a, b; inline complex( , ) { a ...

  4. 时间戳 时区 java mysql

    当一个时间 比如2016年5月6日,生成时间戳.这个运算是与时区有关的.首先得确认这个时间是哪个时区的,然后转换成utc时区的时间.再减去1970,得到的秒数,就是时间戳. 时间戳是个一定的值,他与时 ...

  5. 微信学习总结 09 解析接口中的消息创建时间CreateTime

    1 消息的创建时间 网页超链接的作用以及如何在文本消息中使用网页超链接 2. 具体实现 刘峰博主的博文已经分析的很清楚了,直接去看就行了 .http://blog.csdn.net/lyq8479/a ...

  6. js实现文本框中内容的放大显示

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 在写junit test 的时候出现的java.lang.UnsupportedClassVersionError问题

    今天在写为一些project 写 一些junit  test  的时候,出现下面的异常: java.lang.UnsupportedClassVersionError: moneytest/Money ...

  8. mac系统小记

    1.设置 ls  命令结果的颜色 默认的 ls 是没有颜色的,可以通过设置 CLICOLOR 和 LSCOLORS 两个环境变量来实现.其中,CLICOLOR 是用来设置是否进行颜色的显示(CLI: ...

  9. [译]ES6新特性:八进制和二进制整数字面量

    原文:http://whereswalden.com/2013/08/12/micro-feature-from-es6-now-in-firefox-aurora-and-nightly-binar ...

  10. Android 实现分页(使用TabWidget/TabHost)

    注:本文为转载,但该内容本人已亲身尝试,确认该方法可行,代码有点小的改动,转载用作保存与分享. 原作者地址:http://gundumw100.iteye.com/blog/853967 个人吐嘈:据 ...