V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cabbala
V2EX  ›  Android

阿里云OS和Android的异同分析

  •  
  •   cabbala · 2012-09-16 22:03:22 +08:00 · 8000 次点击
    这是一个创建于 4233 天前的主题,其中的信息可能已经有所发展或是发生改变。
    话说最近阿里云OS和Android吵的沸沸扬扬的,于是蛋疼去阿里的官方论坛上下了个W700刷机包,解压出来看了看。图就不贴了,想看的去下载下来然后解压就好:
    http://kuai.xunlei.com/d/FMCJFEWOPWIW

    众所周知,Android主要分四大块:
    1. Linux kernel,Google对其打了大量的补丁
    2. Android的众多组件和库,包括mediaserver bionic logcat等等,这块相当于Linux发行版中除内核和GUI之外的部分,是系统的必须组件。在这部分除了自己写的上面那些,Google也采用了很多开源组件,比如dnsmasq、pptd等等。
    3. dalvik虚拟机,所有的应用,包括系统和用户的,均跑在这个java虚拟机上
    4. 系统应用,比如Contacts Gallery MediaProvider Phone .....

    那么相对这些,阿里云OS有哪些区别呢
    1. Linux Kernel,后面要说到阿里云OS的第2部分和Android是基本一致的,那么显然必须用Google打过补丁的内核,否则无法工作。按理说阿里应该按照GPL开放内核源代码,那样一目了然,可惜王坚没这么做。

    2. 各种组件和库,和Android基本一致,包括Google专门写的bionic c库,阿里也是照搬无误。(bionic不如glibc啊,阿里怎么想的)

    此处阿里有cloudserver是Android没有的,估计就是那个云OS中的云。

    3. dalvik虚拟机。阿里云OS并不是和王坚宣称的那样,用一个什么转换程序把Android dex转换成lex,然后用阿里自己的lemur虚拟机来运行,而是依然保留了dalvik vm。

    这里还有阿里云OS和Android最大的区别,也就是阿里自主开发的lemur java虚拟机!这也是阿里云OS和Android最大的区别。Android是只有dalvik,阿里云OS是dalvik和lemur同时跑,个人窃以为是阿里无法做到lemur完美兼容dalvik,所以只好跑两个虚拟机了。。

    4. 系统界面,虽然阿里云的app目录下都是lar包,但是除第三方应用和阿里自己的应用外,系统应用名字恰巧和Android中的apk包一致,不得不怀疑阿里只是稍微改了改以适用于lemur。

    综上所述,阿里云OS能做个java虚拟机也算很不错了,可惜很明显不是像王坚所说,只是略微借鉴了Android,而是在Android的基础上添加了lemur虚拟机和一些阿里自己的应用,顺便改了下UI,就成了新OS。

    P.S 话说自己实现java虚拟机有必要么,,完全用dalvik的话就能保证和Android 100%兼容,也不会导致Acer被Google警告。。

    P.S. 敦促阿里云OS遵守GPL,公开内核源码;遵守Apache,加入版权信息。

    最后附上 ls /system/bin的图,其中就有大名鼎鼎,全自主开发,国家15亿经费投入的产出------lemur虚拟机!
    6 条回复    2017-06-11 11:58:22 +08:00
    fengqve
        1
    fengqve  
       2012-09-17 10:23:23 +08:00
    分析的整体不错,不过窃以为这种文章还是不带主观判断的好。
    clino
        2
    clino  
       2012-09-17 11:27:01 +08:00
    搜到一个貌似这个虚拟机开发的参与者的blog http://misaz.blogspot.com/2009/04/tiny-is-beautiful.html 名字看起来还是他起的
    egen
        3
    egen  
       2012-09-17 12:45:43 +08:00
    原来所谓的兼容android就是放一个完整的android进去啊,要是wine敢这么做早被人干死了
    clino
        4
    clino  
       2012-09-18 14:18:46 +08:00
    ysc3839
        6
    ysc3839  
       2017-06-11 11:58:22 +08:00 via Android
    在基于 YunOS 5.1.1 的 Flyme 系统上,用 Activity Launcher 可以看到系统界面应用中包含了 Android L 的 Flappy Bird 彩蛋。对此我个人的理解是 YunOS 是把 Android 换了一个虚拟机。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2868 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:31 · PVG 22:31 · LAX 07:31 · JFK 10:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.