WEB开发网
开发学院手机开发Android 开发 为Android加入busybox工具 阅读

为Android加入busybox工具

 2010-07-15 20:11:00 来源:WEB开发网   
核心提示:原文http://blog.csdn.net/liaoshengjiong/archive/2009/03/05/3957725.aspx我们可以通过两种方式进入Android的console:1. 直接执行命令emulator -shell;2. 在启动emulator后,通过命令adb shell进入,为Andro

原文http://blog.csdn.net/liaoshengjiong/archive/2009/03/05/3957725.aspx

我们可以通过两种方式进入Android的console:

1. 直接执行命令emulator -shell;

2. 在启动emulator后,通过命令adb shell进入。

之 后我们就可以使用一些linux下常用的命令了,如ls,cat等。然而Android自带的toolbox(位于/system/bin中)也太简略了 点,有些命令如find,Android并不支持或者支持得不好。下面将介绍如何为Android加入busybox工具,通过编译得到一个可以在 Android里面运行的busybox工具,我们就可以使用众多常见的linux命令了,如find,touch等。

步骤如下:

1. 首先去busybox主页 下载最新版本的busybox源代码.

2. 下载交叉编译工具: GNU Toolchain for ARM Processors

下载地址:http://www.codesourcery.com/gnu_toolchains/arm/download.html

其中第一项选择ARM EABI或ARM GNU/Linux,第二项选择IA32 GNU/Linux TAR即可。

最后得到一个arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2文件

将压缩包解压到linux下某个目录, 并设置好环境变量, 使之能找到前缀为"arm-none-linux-gnueabi-"的交叉编译工具.

3. 进入busybox源码目录.

先执行make menuconfig命令对编译过程进行配置. 过程如下:

Busybox Settings -> Build Options ->

[*] Build BusyBox as a static binary (no shared libs) 这个要选上,因上这样子编译出来的busyBox才是可以独立运行的。

(/home/jo/tool/arm-2008q3/bin/arm-none-linux-gnueabi-) Cross Compiler prefex 这是交叉编译器的"路径+前缀",要根据具体的情况来设置。

Busybox Settings -> Installation Options->

[*] Don’t use /usr 这样子编译出来的busybox才不会安装到你主机的/usr目录下。一定要选上。

4 执行make编译源码. 如果编译过程中产生无法找到头文件的错误, 可指定交叉编译器用到的头文件所在路径. 如

$make -I./home/jo/tool/arm-2008q3/arm-none-linux-gnueabi/libc/usr/include/

5 编译成功后将得到一个名为busybox的可执行文件.

6 在Android的console下建立目录/data/busybox, 并使用下面的命令将文件busybox复制该目录中:

1 2  下一页

Tags:Android 加入 busybox

编辑录入:coldstar [复制链接] [打 印]
赞助商链接