首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android adb shell - ash还是ksh?

Android adb shell - ash还是ksh?
EN

Stack Overflow用户
提问于 2012-08-14 18:13:21
回答 1查看 4.8K关注 0票数 10

Android在线文档Android Debug Bridge上写道:"Adb提供了一个ash shell“。果然,如果我adb shell到一个AVD模拟器,我得到的是一个基本上是一个削减的伯恩壳。

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

模拟器正在运行Jelly Bean,并且两个设备都使用ICS。做进一步的挖掘,看起来像是在姜饼中的ash,但在Honeycomb中的镜像ksh。

那么,是否有人可以确认Android在线文档是错误的,并且仿真器运行的是过时的shell?或者是供应商正在实施他们自己的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-17 16:19:16

我是mksh ( MirBSD Korn Shell)的作者,在已经有了针对Android1.5的mksh的实验性构建之后,大约在1.6倍的时候提交了它,以便将其包含到Android中。

虽然Android-x86很早就使用了它,但它花了相当长的时间才被接受。起初,我们有一个可配置的交换机,主板配置将决定是使用ash还是mksh;Google同意设备上应该只提供一个。大约在2.4准备(从未发布)的时候,硬件板配置使用mksh,而仿真器配置使用ash,以确保不引入mksh细节,以防他们想要或需要返回到ash。2.4从来没有发布过,我不知道3.0系列使用了什么,但因为Android 4.0 mksh是它的标准系统shell。

mksh甚至得到了Geremy Condra的安全审查,我们( AOSP/Google人员以及我)定期推动代码更新。有趣的事实:他们最初根本不打算在手机上发布shell,但同意发布mksh,因为到那时他们已经发布了带有shell的设备,所以它成为了发布的API的一部分。Android开发者最大的特点就是制表符补全。

现在看一下在线文档,他们似乎删除了ash引用。他们现在只是不清楚哪个shell是可用的。(他们确实同意在在线文档中链接到mksh主页-我为此提交了一个补丁-以便用户可以使用RTFM并提供错误报告和其他反馈。)

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11950131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档