给Android系统安装busybox
转自: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目录下:
- adb push busybox /system
注:
a)如果遇到提示说没有权限,请先执行su
b)如果提示Read-only file system,则需要将/system目录重新挂在为可读写方式。具体可参考:http://blog.csdn.net/lxgwm2008/article/details/19044377
push成功后,开始安装busybox:
- chmod 755 busybox
- busybox --install
此命令将busybox默认安装到/usr/bin目录下。有些手机没有这个目录,比如我的Note 3,其目录是/system/bin,这是需要更改默认安装目录:
- busybox --install /system/bin
安装成功后,执行busybox命令,会有如下提示:
- shell@hlte:/ $ busybox
- busybox
- BusyBox v1.21.1 (2013-07-08 10:26:30 CDT) multi-call binary.
- BusyBox is copyrighted by many authors between 1998-2012.
- Licensed under GPLv2. See source distribution for detailed
- copyright notices.
- Usage: busybox [function [arguments]...]
- or: busybox --list[-full]
- or: busybox --install [-s] [DIR]
- or: function [arguments]...
- BusyBox is a multi-call binary that combines many common Unix
- utilities into a single executable. Most people will create a
- link to busybox for each function they wish to use and BusyBox
- will act like whatever it was invoked as.
- Currently defined functions:
- [, [[, acpid, add-shell, addgroup, adduser, adjtimex, arp, arping, ash,
- awk, base64, basename, beep, blkid, blockdev, bootchartd, brctl,
- bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod,
- chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
- conspy, cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd,
- deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay, diff,
- dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap,
- dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
- expand, expr, fakeidentd, false, fbset, fbsplash, fdflush, fdformat,
- fdisk, fgconsole, fgrep, find, findfs, flock, fold, free, freeramdisk,
- fsck, fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty,
- grep, groups, gunzip, gzip, halt, hd, hdparm, head, hexdump, hostid,
- hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifenslave,
- ifplugd, ifup, inetd, init, insmod, install, ionice, iostat, ip,
- ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel,
- kbd_mode, kill, killall, killall5, klogd, last, less, linux32, linux64,
- linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread,
- losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat,
- lzma, lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg,
- microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix,
- mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more,
- mount, mountpoint, mpstat, mt, mv, nameif, nanddump, nandwrite,
- nbd-client, nc, netstat, nice, nmeter, nohup, nslookup, ntpd, od,
- openvt, passwd, patch, pgrep, pidof, ping, ping6, pipe_progress,
- pivot_root, pkill, pmap, popmaildir, poweroff, powertop, printenv,
- printf, ps, pscan, pstree, pwd, pwdx, raidautorun, rdate, rdev,
- readahead, readlink, readprofile, realpath, reboot, reformime,
- remove-shell, renice, reset, resize, rev, rm, rmdir, rmmod, route, rpm,
- rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script,
- scriptreplay, sed, sendmail, seq, setarch, setconsole, setfont,
- setkeycodes, setlogcons, setserial, setsid, setuidgid, sh, sha1sum,
- sha256sum, sha3sum, sha512sum, showkey, slattach, sleep, smemcap,
- softlimit, sort, split, start-stop-daemon, stat, strings, stty, su,
- sulogin, sum, sv, svlogd, swapoff, swapon, switch_root, sync, sysctl,
- syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp,
- tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true,
- tty, ttysize, tunctl, udhcpc, udhcpd, udpsvd, umount, uname, unexpand,
- uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, users, usleep,
- uudecode, uuencode, vconfig, vi, vlock, volname, wall, watch, watchdog,
- wc, wget, which, who, whoami, whois, xargs, xz, xzcat, yes, zcat, zcip
- shell@hlte:/ $
开始享受随心所欲的自由吧!
给Android系统安装busybox的更多相关文章
- android安装busybox
大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽.是否想过在Android上使用较完整的shel ...
- Android安装BusyBox(三星N7108)
近期公司安卓app测试,分配任务为监控APP内存.CPU占用率.因安卓是基于linux开发,故很容易就联想使用Linux监控相关的命令.想法总是美好的,现实总是残酷的,使用三星 Galaxy Note ...
- 为Android安装BusyBox
大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽.是否想过在 Android上使用较完整的she ...
- Android移植busybox
Android 的toolbox没有自动补齐,命令少,对于开发人员还是需要busybox,直接移植官方的busybox会有很多问题,主要是因为基于Android的交叉编译工具并没有采用glibc作为C ...
- android版本 busybox
http://www.busybox.net/downloads/binaries/1.21.1/ 根据不同的平台选择busybox已经编译好的
- 打开Android系统安装APK的页面
//使用隐式意图开启安装APK的Activity Intent intent = new Intent("android.intent.action.VIEW"); intent. ...
- Android驱动调试利器Busybox之初体验
工欲善其事必先利其器,之前做WinCE开发时,经常写一些小工具以提高开发调试的效率,如WinCE驱动调试助手.WinCE串口调试助手.WinCE6.0寄存器访问工具.WinCE远程桌面助手和S3C24 ...
- 采用busybox 代替android 自带的shell
折腾了几天,被Android那点儿少得可怜的shell命令折磨的死去活来,终于下定了革命的决心.看一下怎么把渺小的toolbox替换成伟大的busybox吧.先大致描述一下Android系统中的she ...
- android Toolbox和BusyBox
在安卓系统中,Toolbox是能够实现内存的管理,备份管理和清除数据等功能的系统文件.用来对手机性能进行设置,需要root权限.能够被软件调用. 我们在updater-script文件中,知道有类似s ...
随机推荐
- hdu3415 单调队列
Max Sum of Max-K-sub-sequence Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & ...
- c# Linq查询
c#提供的ling查询极大的遍历了集合的查询过程,且使用简单方便,非常的有用. 下面将分别用简单的例子说明:ling基本查询.延迟查询属性.类型筛选.复合from字句.多级排序.分组查询.联合查询.合 ...
- Code[VS] 3123 高精度练习之超大整数乘法
FFT 做 高精度乘法 #include <bits/stdc++.h> ); struct complex { double a, b; inline complex( , ) { a ...
- 时间戳 时区 java mysql
当一个时间 比如2016年5月6日,生成时间戳.这个运算是与时区有关的.首先得确认这个时间是哪个时区的,然后转换成utc时区的时间.再减去1970,得到的秒数,就是时间戳. 时间戳是个一定的值,他与时 ...
- 微信学习总结 09 解析接口中的消息创建时间CreateTime
1 消息的创建时间 网页超链接的作用以及如何在文本消息中使用网页超链接 2. 具体实现 刘峰博主的博文已经分析的很清楚了,直接去看就行了 .http://blog.csdn.net/lyq8479/a ...
- js实现文本框中内容的放大显示
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 在写junit test 的时候出现的java.lang.UnsupportedClassVersionError问题
今天在写为一些project 写 一些junit test 的时候,出现下面的异常: java.lang.UnsupportedClassVersionError: moneytest/Money ...
- mac系统小记
1.设置 ls 命令结果的颜色 默认的 ls 是没有颜色的,可以通过设置 CLICOLOR 和 LSCOLORS 两个环境变量来实现.其中,CLICOLOR 是用来设置是否进行颜色的显示(CLI: ...
- [译]ES6新特性:八进制和二进制整数字面量
原文:http://whereswalden.com/2013/08/12/micro-feature-from-es6-now-in-firefox-aurora-and-nightly-binar ...
- Android 实现分页(使用TabWidget/TabHost)
注:本文为转载,但该内容本人已亲身尝试,确认该方法可行,代码有点小的改动,转载用作保存与分享. 原作者地址:http://gundumw100.iteye.com/blog/853967 个人吐嘈:据 ...