Android的亚行shell – 灰或KSH?

Android在线文档Androiddebugging桥说“Adb提供了一个灰壳”。 果然,如果我adb shell的AVD模拟器,我得到灰,这是一个基本上是一个减lessBourne壳。

但是,如果我连接到几个远程设备,一个是HTC电话,另一个是华硕Transformer Prime平板电脑,它们都有一个Korn shell版本,它给出: KSH_VERSION='@(#)MIRBSD KSH R39 2010/08/24' 。 虽然MIRBSD KSH不是一个完整的AT&T Korn shell,但它仍然比灰强大得多。

模拟器正在运行Jelly Bean,并且这两个设备都使用ICS。 做更多的挖掘,它看起来像姜饼灰,但在蜂窝镜像ksh

那么,有人可以确认Android在线文档是错误的,并且模拟器正在运行一个过时的shell? 还是说供应商正在实施自己的?

Solutions Collecting From Web of "Android的亚行shell – 灰或KSH?"

我是mksh(MirBSD Korn Shell)的作者,已经在1.6左右的时间已经有了mksh for Android 1.5的实验版本,已经提交给了Android。

虽然Android-x86很早就使用了,但这个过程需要很长时间才能被接受。 起初,我们有一个可configuration的开关,板configuration将确定是否使用灰或mksh; Google同意只有一个应该在设备上发货。 在准备2.4(从未发布)的时候,硬件板configuration了使用的mksh,而模拟器configuration使用了灰,以确保不会引入mksh -specs,以防他们需要或需要返回灰。 2.4从来没有发布,我不知道3.0系列上使用什么,但由于Android 4.0 mksh是其标准的系统shell。

mksh甚至还得到了Geremy Condra的安全审查,我们(AOSP / Google人员和我)都定期推送更新代码。 有趣的是:他们并不打算在最初的时候手机上发布一个shell,而是同意发布mksh,因为那时他们已经发布了带有shell的设备,所以它成为了发布的API的一部分。 安卓开发人员喜欢在mksh,灰色,#1function是标签完成。

现在看在线文档,似乎他们删除了灰参考。 他们现在只是没有明确哪个shell可用。 (他们确实同意链接到在线文档中的mksh主页 – 我提交了一个补丁 – 以便用户可以使用RTFM并提供错误报告和其他反馈。)