您的位置:首页 > 移动开发 > Android开发

android不支持tab补全和ctrl+c的解决办法

2014-03-04 09:58 363 查看
进入android shell后会打印:

sh: can't access tty; job control turned off

输入tab键没有补全,输入ctrl+c没有终止到下一行,而是输入一个乱七八糟的字符,

没有cp命令等等等等,

你会发现,这他妈还是linux吗?这日子没法混了!

要支持一些常用的命令,

需要重新编译一个busybox,

make menuconfig

先选择你想要的那些命令,然后如果要支持tab补全的话,

选择,

Busybox Settings-->

Busybox Library Tuning-->

Tab completion

选中就可以了

然后进入android串口,执行busybox sh

就可以了。

默认没有cp函数,

先重新mount一下T卡(默认的加载T卡的方式是不支持改变权限的),

然后

cd /sdcard

chmod 777 busybox

./busybox cp ./busybox /data/bin/

就可以了。

补全的原理如下:



本质也就是读到tab键就开始查找,找到匹配的就显示出来。

至于ctrl+c不支持的解决办法是:

修改system/core/init/init.c 里面的

static char *console_name = "/dev/ttyS2";

这里以前是/dev/console,

重新编译:

source build/envsetup.sh

mmm system/core/init/

把编译出来的init放到内核里面的root目录,

重新做一个内核烧进去,

这样就可以支持ctrl+c了,

当然前提是/dev/ttyS2确实是串口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: