青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 谷歌反对阿里YunOS:不兼容将毁掉Android是电商,不是“电伤” »

阿里YunOS和Android的关系

  近日,有关谷歌Android和阿里YunOS的争论闹得沸沸扬扬,谷歌高管、Android开发领头人Andy Rubin在其Google+主页中这样写道:阿里YunOS系统采用了谷歌Android系统的运行环境,明显是由Android系统修改得来。

  Andy Rubin,事实是,阿里YunOS系统包含了Android中运行环境,明显是从Android中演变而来,但无法与Android兼容。基于Google对阿里YunOS网站上应用的分析,这个平台尝试与Android兼容,但未能成功。

  阿里YunOS到底是不是Android以外的东西,笔者通过技术手段对其进行一些分析。天语W700是一款使用了“阿里YunOS操作系统”的手机,笔者找到一个天语W700手机的阿里YunOS的刷机包。打开粗粗看一下,和Android的刷机包没两样。里面的应用全部是apk,这意味着它们都是以Dalvik可执行文件的形式存在的。

阿里YunOS

[图1]

  Build.prop里面也指出是,Android2.2

阿里YunOS

[图2]

  接下去来找其中的c library,因为我们知道,Android是在Linux内核之上运行了一套Google自己组织起来的架构。和通常意义上的GNU Linux一样,这个架构里最基础的东西之一就是C运行库。

  GNU Linux的C运行库是Glibc,而Android用的是Bionic。通过使用自己组织,编写的代码,Android可以从这一层以上避开GPL协议不允许发布者拥有保密源代码权利的限制。

  找到其中的lib/libc.so,也就是C运行库,用readelf查看它的符号表(这么做不涉及反向工程),可以在找到”bionic”。说明它的C运行库很可能是bionic。

阿里YunOS

[图3]

  内核是linux kernel,基础的C运行库是Bionic,有Dalvik,上层的应用全部是Dex格式,这些东西说明W700上的“阿里YunOS操作系统”不太可能是Android以外的东西。

  当然以上的内容无法用于推测,这么做是否与Android的授权协议产生了矛盾。但是有一件事情比较明确,如果提供这个手机的厂商没有提供其中linux kernel的源代码,那很可能是非法的。

  更新:上篇用的ROM是错的,是Android的刷机包,不是官方原生的YunOS的ROM,所以论据是错的。这里用官方原生YunOS的ROM分析一下,到底阿里YunOS和Android之间是什么关系。

  解开看大目录的结构:

阿里YunOS

  根目录下是一个boot.img,这就是Android系统的bootloader,也就是启动分区。另外有个system目录,这就是Android系统的system分区。进入system目录往下看:

阿里YunOS

  这里和Android ROM的目录结构是一模一样的,各位可以自己找个Android ROM对比以下。核心的几个目录:

  app: 存放ROM预装的app

  bin: 系统进程的目录

  framwork: Android Framework目录,就是Android应用程序运行所需要的库文件的目录

  lib: so库文件目录,相当于Windows的system32目录

  咱们再进到app目录看一下:

阿里YunOS

  好,看出区别来了,Android下所有的app都是以apk结尾的,前一篇帖子用的ROM就是Android的ROM,里面对应这张图里的文件就都是apk的。这里怎么都是lar呢?这就是阿里YunOS和Android不同的地方了,因为apk是Dalvik虚拟机管理应用程序的文件格式,阿里YunOS自己搞了个虚拟机,用lar文件来管理。lar文件和apk文件有什么不同?我们知道apk文件其实就是一个zip文件,用WinRAR可以直接打开看,那lar文件呢?用WinRAR果然也可以直接打开:

阿里YunOS

  做过Android开发的人一看到这个目录结构就发现,它和apk的目录结构基本上是一模一样的,除了Android应用的classes.dex文件变成了classes.lex。那所谓的lex文件是不是就是把dex文件换了个名字呢?我们用二进制比较一下:

阿里YunOS

  左边的是Android应用的dex文件,右边的是阿里YunOS应用的lex文件。可见,文件格式已经完全不一样了。

  好,app的不同已经看出来了,我们再来看系统核心进程有什么不同。进入到/system/bin目录:

阿里YunOS

  熟悉Android系统的人一眼就能看出来,am, app_process之类的名字都是Android核心进程的名字。多出来了几个:cloudserver, chpasswd.cgi之类,看来这就是阿里YunOS所谓的“云服务”的核心进程了。

  好,文件的比较就到这里,那现在基本上可以下结论了,一个完整的Android系统,包括以下几个部分:

  1. bootloader:用来启动操作系统

  2. kernel: 系统内核

  3. 核心进程,就是 /system/bin 下面那堆东西

  4. so库: 系统运行基础,就是 /system/lib 下面那堆东西

  5. Android虚拟机,所有的上层应用都是靠虚拟机来运行的

  6. Android Framework: 所有的上层应用都是通过调用Framework来实现功能的,就是 /system/framework下面那堆东西

  7. 上层应用,比如说桌面Launcher, 拨号,短信,通讯录之类,就是/system/app下面那堆东西

  那么,阿里YunOS,在上面7个部分中,虚拟机用的是自己的,上层应用是自己定制的,另外额外加了一个“云服务”,其余部分都是用的Android的。它和Android是什么关系已经很清楚了。

  那顺便八卦一下,为什么阿里YunOS要搞成这个样子呢?说来就话长了,话说当年阿里YunOS刚成立的时候,还是很有追求滴,当时收购了一家国内做Java虚拟机的公司(叫“猛犸科技”),同时还找了一帮MOTO做Linux内核的人,想搞个自己的操作系统出来。阿里YunOS的CEO叫王坚,和李开复一样都是从微软研究院出身,但是颇看不起李开复搞的“点心OS”,认为“拿个Android来改一改,多土啊!我们要搞自己的操作系统!”于是呢,阿里YunOS的一帮人就吭哧吭哧搞“自己的操作系统”了。结果呢,大家脚趾头都能想到,从头搞一个操作系统哪有那么容易,做了半年没做出来,咋给马云交差呢?于是也顾不上土不土了,拿Android改吧。虚拟机是现成的,那就换掉Android的虚拟机吧,好歹能算是自己的工作成果。但光换个虚拟机意义也不大啊,HTML5和WebOS的概念比较新潮,那就再加个“云服务”的概念吧,也算是国内HTML5的倡导者了。HTML5通过浏览器引擎跑,性能肯定比不上原生应用,那怎么保证操作流畅呢(特别是桌面Launcher,天天用,要是太卡,用户就疯了),那还是用原生应用来实现吧……于是,最后阿里YunOS就长成现在这样了。

  来源:willproven投稿。



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/3222.html
  • 文章排行:
  • 1.thinkingleaf
  • 中国人、中国企业,有点出息行不行?做不出来不一定丢人,丢人的是撒谎!
  • 2012/9/17 14:53:48   支持(120)反对(34) 回复
  • 2.马大师嘿嘿
  • 以前那帮盲目崇拜马大师的人呢?哥反正从不搞个人崇拜。
    有人说的好,国内连一个浏览器都只能玩玩加壳,更别说是OS了。
    anadano 于 2016/7/18 22:15:32 回复
    别说都是壳,遨游好歹是基于WebKit自主开发的,按辈分至少是和chromium平辈,是360,搜狗等的爸爸辈
  • 2012/9/17 19:07:48   支持(75)反对(27) 回复
  • 3.kid_bjut
  • 安卓那开源的字眼,从他出现的第一天起,就深深刺激着国人的眼球~
  • 2012/9/17 15:12:50   支持(67)反对(22) 回复
  • 4.曹大勇
  • 开源的Andriod,李开复、马云等能不激动。但免费晚餐也要有个吃相吧。
  • 2012/9/17 15:47:55   支持(63)反对(23) 回复
  • 5.foo
  • 其实不用分析,谷歌肯定是严密分析后拿到确切的结论和证据才发表声明的,没有证据不会随便说话。
  • 2012/9/17 16:10:33   支持(70)反对(33) 回复
  • 6.独孤跑者Vincent94
  • 抄了不怕,一个免费系统,好好商量呗。怕的是抄了还理直气壮的说没有,说是被冤枉的,那就是人品问题,垃圾企业没救了。
  • 2012/9/17 16:31:59   支持(61)反对(26) 回复
  • 7.独孤跑者Vincent94
  • 拨经费的都是些SB,不用想也知道所谓研发就是骗钱。查查历史,中国有过自主研发的操作系统吗?
    11111 于 2015-2-17 22:01:52 回复
    怎么没有,红旗啊!哈哈哈哈哈哈哈哈哈哈!
  • 2012/9/17 16:51:01   支持(60)反对(31) 回复
  • 8.axnow
  • 之前我就一直觉得阿里云只是一个壳而已...
  • 2012/9/17 14:17:45   支持(47)反对(23) 回复
  • 9.醉梦蚂蚁
  • 还是一如既往的,好文章
  • 2012/9/17 14:39:47   支持(44)反对(22) 回复
  • 11.fudr
  • 流氓 木办法 咋整呢? 耍流氓吧!狭义~!
  • 2012/9/17 17:51:40   支持(33)反对(13) 回复
  • 12.天堂白鱼
  • 自己弄了个库。改了个后缀名。就号称是自主研发。真是不要脸的
  • 2012/9/18 20:40:45   支持(39)反对(20) 回复
  • 14.七夜
  • 就阿里系的企业文化和素质,除了删负面新闻绝对厉害,坑外雅虎坑安卓,当了表z还想立牌坊。有传现在还强制用户不能使用某厂商的浏览器访问淘宝,又一起强x用户的案例!
  • 2012/9/18 16:57:53   支持(41)反对(25) 回复
  • 15.骑行者_kavin
  • Android基于Linux定制,根据GNU相关协议,阿里OS如果使用了Android源代码,那么依赖源代码的那部分代码必须公开。当然,也有无赖手段规避,那就是以Android为运行环境,外面包装一层后再开发阿里的虚拟机,所以使用Android运行环境不一定就得公开源代码
  • 2012/9/17 15:43:54   支持(39)反对(25) 回复
  • 16.budblack
  • 啊。。。我居然从一开始就以为阿里云是深度定制的安卓。。。
  • 2012/9/28 13:39:51   支持(32)反对(18) 回复
  • 17.只有继承没有创新
  • 更新:上篇用的ROM是错的,是Android的刷机包,不是官方原生的云OS的ROM,所以论据是错的。这


    你上面错误的不删掉还放在那里凑字数么,无语了。
    ST 于 2012-9-17 20:01:54 回复
    错误的是故意放那里的吧。。。呵。最后一段话亮了~
  • 2012/9/17 19:40:50   支持(37)反对(26) 回复
  • 18.yangyang
  • 我晕google不就是 在linux内核基础上只剩下一个虚拟机么?
    只要虚拟机不是用google 别个就可以说得过去

    至于libc 我晕别个 BSD也可以用glibc 别个

    还是老牙 露珠你没有充分证据表明 阿里错
    L 于 2012-9-29 14:19:15 回复
    也不能这样说吧,,,,现在智能机技术差不多已经成熟, 大家差不多都是这种操作模式, 不能说谁抄袭谁的吧...
    OS都是内核都是linux,这不能说是抄袭,关键是看外面加的壳是不是自己的...
    如果讲究创新的话,跟重新研发内核没区别. 如果按楼主逻辑,即使内核是新的, 外壳的表现模式跟其他的相同, 是不是也算是抄袭呢...这也只能说是迎合广大用户的需求罢了...
    一般来说,想要成为第2个苹果,还是很有挑战的
  • 2012/9/18 16:39:35   支持(37)反对(29) 回复
  • 19.疯狂转载
  • 对于阿里云不多说,垃圾cp谁有谁知道,我他妈买个云服务器三天两头叽叽歪歪,换了个世纪云,就几个客服服饰的巴巴适适的
  • 2015/5/10 15:27:23   支持(9)反对(2) 回复
  • 20.jazkim
  • 对于国内厂商见怪不怪了,况且还是马云。
  • 2012/9/17 14:34:51   支持(29)反对(23) 回复
  • 21.a
  • davik虚拟机是android的核心。如果阿里云真的是自己另搞一套虚拟机,那就非常了不起了。我怀疑仅仅是少量修改而已。
    ps: google通过虚拟机绕开java专利,再通过其它手段绕开linux驱动开源要求,也够流氓的。
    st 于 2014-1-18 18:08:25 回复
    不是谷歌想绕,是为了其他的厂商考虑,比如做gpu做wifi做3g模块的
  • 2013/10/16 17:32:46   支持(28)反对(22) 回复
  • 22.解放思想博文哥
  • 希望证实数据的真实性,由于第一件的错误,不排除第二个文件的错误,第二,单纯的目录结构并不能代表内部是一致的,请再分析做出判断,包括真正架构等。
  • 2012/9/17 23:42:40   支持(34)反对(30) 回复
  • 23.tomcat
  • 大家淡定点吧,等华为的国产手机操作系统出来,哈哈哈哈
  • 2012/9/17 15:21:02   支持(30)反对(27) 回复
  • 24.TG__
  • 本意是对的,但是boot和bootloader都不分的话就不要写分析操作系统的文章了
  • 2012/9/18 9:01:42   支持(33)反对(30) 回复
  • 25.LS
  • 术业有专攻,你不懂就不要乱写好吗?
  • 2014/8/17 1:00:26   支持(28)反对(25) 回复
  • 26.凑搜博客
  • 阿里从来就是一个皮包公司,做自己的容易吗? 皮包公司去搞技术,从他们的企业文化这点就不好转型,阿里别想了,承认错误吧
  • 2015/3/22 23:41:23   支持(9)反对(6) 回复
  • 27.nobush
  • 我觉得还是应该测试一下具体使用效果再评价~
  • 2012/9/18 19:03:28   支持(28)反对(26) 回复
  • 28.xiaoqiang
  • 看这样说的王坚,好像是个背锅的吧……。只是其中之一
  • 2015/4/1 10:54:36   支持(6)反对(4) 回复
  • 29.凌霄此名字太受欢迎
  • 阿里巴巴安安分分做商人吧,要不花点钱买技术也行
  • 2012/9/17 20:57:23   支持(23)反对(22) 回复
  • 30.dahaisky
  • 楼主就是小白,你能给我解析一下扩展名是做什么用的吗?
  • 2015/6/24 14:42:13   支持(7)反对(6) 回复
  • 31.bobby_Y
  • 绝对的领导层自欺欺人!难道就自我膨胀到这个程度了吗,明眼人都看得出来的,还不承认!
  • 2012/9/17 22:44:33   支持(21)反对(21) 回复
  • 32.xiaoqiang
  • 没有高层的决定下层不可能去抄,如果真的想做系统了,不是难易的问题,相信抄也不是计划的一部分,国人就这德行而已,找理由就给自己擦屁股…………
  • 2015/4/1 10:53:41   支持(4)反对(4) 回复
  • 33.tobymouse
  • 任何操作系统都是由:booterloadrer,kernel,系统进程,so库组成
  • 2016/10/27 16:52:08   支持(0)反对(0) 回复
  • 34.海海海天啊
  • 有什么好想的 只有抄得好不好的问题 没有抄不抄的问题
  • 2012/9/17 14:35:47   支持(19)反对(20) 回复
  • 35.赵明献静
  • 这么揭底, 马云会不高兴滴。分析不错。
  • 2012/9/17 15:58:56   支持(26)反对(27) 回复
  • 36.Dky
  • 基础软件的国产没人品的事情多了,用开源不可耻,可耻用了开源还不承认。真的搞自主的一拨人又是闭门造车骗国家经费。
  • 2014/10/20 22:21:38   支持(12)反对(13) 回复
  • 37.尘中_过客
  • 我都没信过他们有实力开发自己的手机系统
  • 2012/9/17 14:50:48   支持(30)反对(32) 回复
  • 38.风中塑料袋
  • 主要是领头羊不行,王坚人品不好
  • 2012/9/17 15:00:49   支持(28)反对(30) 回复
  • 39.edorphin
  • 先别说国人系统 要想建立自己国家的系统 首先要有自己国家独立的计算机语言
  • 2015/5/20 13:15:05   支持(4)反对(6) 回复
  • 40.Michael
  • 炒没有错,就是到了自认为有素质的人眼中,就不好办了。 抄来抄去有提高也行 。 我们写论文还要说 参考什么什么呢?说出来又何妨?
  • 2012/11/7 11:18:41   支持(19)反对(22) 回复
  • 41.licanvery
  • 我也总觉得阿里云是基于安卓开发的,因为大多数软件兼容,而且阿里手机可以刷成安卓
  • 2012/9/17 14:29:46   支持(25)反对(29) 回复
  • 42.杨红林博客
  • 呵呵,管他呢,现在都是这样的。weiku总站的推广策划路过,嘿嘿。
  • 2012/9/17 16:28:12   支持(15)反对(19) 回复
  • 43.Christ楚小天
  • taobao真是不要脸啊~~吵来吵去~~
  • 2012/9/17 14:26:46   支持(22)反对(28) 回复
  • 45.数据挖掘研究院
  • 阿里公司怎么会做脱壳的事呢?不会的,不会的。
  • 2012/9/17 14:57:49   支持(17)反对(25) 回复
  • 46.大卫科波叶儿
  • 我有一部手机阿里云系统,蛮便宜的,符合市场用户需求,手机本身就是服务大众, 何必搞的那么贵,就算自主研发,有什么作用,只不过防止受控他国侵扰。反正我觉得,阿里云的手机很便宜,也没那么坑。划算,物超所值。
  • 2015/4/14 10:34:59   支持(6)反对(17) 回复
  • 47.相对平静的树
  • 呵呵 笑而不语。。。当初tao宝就靠流氓软件捆绑用户成功。。。还那德行而已
  • 2012/9/17 14:20:45   支持(22)反对(35) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.