在Android Console中添加Busybox和Bash

整个过程分两部分:
第一部分:将busybox 和 bash 通过adb push 推到/data目录下
第二部分:更改init.rc,将PATH环境写入ramdisk.img中
第一部分:
下载bash和busybox,然后按照下面的步骤,step by
step:(由于bash和busybox的链接大部分已经失效,我手动编译了两个,作为附件放在页面底部)
#adb shell mkdir /data/busybox
#adb push busybox /data/busyobx
#adb push bash /data/busybox
//adb shell,进入android
#cd /data/busyobx
#chmod +x busybox bash
#./busybox --install //将程序安装在当前目录下
#export PATH=/data/busybox:$PATH
至此,已经可以使用busybox和bash了。但是很麻烦,每次都需要在前面加上busybox。
因此,最好是将环境变量直接在初始化的时候就指定,因此需要更改ramdisk.img中的init.rc
第二部分
更改init.rc
1)将ramdisk.img复制其他目录,名称改为ramdisk.img.gz,解压
#gunzip ramdisk.img.gz
//新建一个文件夹ramdisk,进入
#cpio -i -F ../ramdisk.img
这时,可到ramdisk中看看去~
2)修改init.rc,在PATH中加上busybox 路径
3)重新打包成镜像,并使用新镜像启动emulator
#cpio -i -t -F ../ramdisk.img > list
#cpio -o -H newc -O rd_busybox.img < list

//使用 -ramdisk 参数,指定所使用的镜像文件
--over---
bash:https://docs.google.com/uc?id=0ByKC30p2j_DDMmM3Zjk5YzItM2U2NC00NGZkLTk4MGYtMmU3ZDgyNTY0MWUz&export=download&hl=zh_CN
busybox:
这里面有一堆 http://www.busybox.net/downloads/binaries
也可以使用:https://docs.google.com/uc?id=0ByKC30p2j_DDM2RhMWEyNjEtZDVlZC00MDcyLTk3MjktZDczMzc5YTc4NDI5&export=download&hl=zh_CN

评论

  1. 冒昧請教您
    您的 busybox 是怎麼編的
    我試了很久 編了很多版本都不能用
    可是載了您編的就可以使用了
    方便透露您編譯的方法嗎...
    感激不盡^^ 

    回复删除
  2. 呵,我编译的时候,也折腾了好久。遗憾的是,也没有及时的记录。

    不过,当初遇到的问题,都是请教google的。

    回复删除

发表评论

此博客中的热门博文

提交了30次才AC ---【附】POJ 2488解题报告

n个进程共享m个资源得死锁问题证明