toolbox命令集.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
toolbox命令集

Android自带的toolbox分析及扩展 Android那点儿少得可怜的shell命令折磨的死去活来,终于下定了革命的决心。看一下怎么把渺小的toolbox替换成伟大的busybox吧。先大致描述一下Android系统中的shell程序部分。 shell实现分为两部分: 一、shell解释器和内置命令 源码位于system/core/sh目录下,主要完成shell命令的解释查找,对于builtins.c中包含的内置命令,直接执行,对于toolbox的扩展命令,间接调用toolbox程序完成。 二、toolbox扩展命令 主要完成扩展命令的执行,每一个扩展命令对应一个name_main函数,如ls命令,对应ls_main函数。同时,每一个扩展命令都由一个system/core/toolbox/目录下面的.c文件实现。toolbox.c会根据这个目录下面的.c文件生成tools.h头文件,并在system/core/toolbox/Android.mk文件中为每个命令生成指向toolbox的连接。toolbox的实现结构使它扩展一个命令很容易。 假设现在我们自己想手工添加一个shell命令mycommand,只要在system/core/toolbox/目录下面新建一个mycommand.c文件,并在里面实现一个mycommand_main函数,然后在system/core/toolbox/Android.mk中添加mycommand.c即可。Android.mk会自动把它编译进toolbox程序,并在编译生成的Android系统/system/bin目录下为这个命令生成一个指向toolbox的连接。 接下来翻译一下网上的一篇文章,借助它,可以把Android自带的toolbox替换成busybox。 Installing Busybox command line tools 在Android系统中安装busybox命令行工具 本文简单地介绍了怎么把busybox安装到Android的文件系统中去。如果你想直接安装,可以从下面的地址下载我已经预编译好并在Android2.1系统上试验成功的busybox,然后直接跳过下面的安装步骤。 下载在Linux公社的1号FTP服务器里,下载地址: FTP地址: 用户名: 密码:www.muu.cc 在 2011年LinuxIDC.com\3月\Android自带的toolbox分析及扩展 下载方法见?/thread-1187-1-1.html 一、编译busybox 1、下载busybox的最新版本,本文写作时最新版本是1.13.3。 下载地址:/ 2、解压源码: tar jxf busybox-1.13.3.tar.bz2 3、运行menuconfig对busybox进行配置 cd busybox-1.13.3/ make menuconfig 4、在menuconfig中设置以下选项 Busybox Settings -- Build Options -- Build Busybox as a static binary (no shared libs)? -? Enable this option by pressing Y Busybox Settings -- Build Options -- Cross compiler prefix? -? Set this option equal to arm-none-linux-gnueabi- Busybox Settings -- Installation Options -- Dont use /usr? -? Enable this option by pressing Y 5、把交叉编译器的地址导入到环境变量: export PATH=/opt/arm/arm-2007q3/bin:$PATH 6、编译busybox make 二、安装busybox 把busybox安装到Android系统中去,做这几步: 1、在Android系统根目录下创建一个/bin目录。 mkdir /path-to-Android-fs/bin 2、把编译出来的busybox复制到/bin目录下 cp busybox /path-to-Android-fs/bin 3、把busybox安装到Android机器中 cd /bin ./busybox --install 三、把busybox作为默认shell 需要像下面这样编辑一下init.rc 1、编辑console服务,让它默认运行busybox service console /system/bin/sh? -? service console /bin/sh 2、把busybox路径

文档评论(0)

af60068 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档