开启辅助访问
 找回密码
 立即注册

为啥阿里云 OS 兼容 Android Apps 令人不齿?

E.V.A.N 回答数5 浏览数804
见这里的答案:
http://www.zhihu.com/question/20477477
使用道具 举报
| 来自福建 用Deepseek满血版问问看
marszero00 | 来自山东
马上又会有新的华为os了 一样兼容android哦
用Deepseek满血版问问看
回复
使用道具 举报
yarke | 来自北京
在windows上跑.exe叫兼容么?
回复
使用道具 举报
ldcyp | 来自北京
最近好像阿里云又被翻出来了晒,原因估计就是阿里云OS的3.0吧,还有就是和魅族先互掐再合作的奇葩合作方式(利益为先),阿里想的挺美好,但是用户云的稀少是很难改变的,即便是通过魅族,说句老实话,魅族应该没有小米卖的好。
那么问题来了:

  • 为什么阿里云OS就是不肯(不敢)和Android对比源代码,总是在关键问题上闪烁其词?光从这一点,就和某些政府做事一个德行,转移话题,主次颠倒,回避主要问题,不免让人生疑。
  • 如果魅族用了阿里云OS,还会有人买吗?
  • 我们是不是忽略了政府强制执行使用YunOs的这种可能性(比如类似政府员工不能用iPhone之类的规定……)
题外贴张图:


直逼iphone6……不知道云OS是不是也是直逼Android呢……真的好复杂的心情啊,想支持你,但是你所谓的追求极致,就是TM的直逼iPhone6?你TM的直逼iPhonePlus我也忍了啊!!
---------------------------------------------以前的回答继续的分割线------------------------------------------------
我来说说我的看法,我朋友有买过阿里云的手机,那个时候天语的一款数码W开头的,应该是W700什么的,我用来把玩了一段时间,没多久就还掉了,因为这根本就是一个全是阿里服务的手机(聊天工具,浏览器,电话薄,网盘……无一不是阿里的产品,当时我的第一反应就是,打着云服务和自主研发的噱头骗钱而已——有点偏激)
具体的手机底层代码方面我不是很懂,但是看他们的一些消息应该可以看出点什么。

  • 阿里手机与卓普、夏新、基伍、康佳、小辣椒等5家国内手机厂商合作,推出6款手机。(请问在坐的各位有几个人是用这些品牌手机的?小辣椒?基伍?卓普?在这条新闻之前,我居然没听说过这三个品牌……我是孤陋寡闻么?)为什么不是其他更响亮的品牌呢?
  • 他们在官网卖手机的描述:什么视频王,游戏王,娱乐王者……页面充斥着令人犯恶的广告宣传语,山寨气息浓厚,不经令我想到了998的候总……
  • 再来看看这篇文章(我直接搬运过来了):阿里云OS和Android的关系

    • 近日,有关谷歌Android和阿里云的争论闹得沸沸扬扬,谷歌高管、Android开发领头人Andy Rubin在其Google+主页中这样写道:阿里云系统采用了谷歌Android系统的运行环境,明显是由Android系统修改得来。
        Andy Rubin称,事实是,阿里云系统包含了Android中运行环境,明显是从Android中演变而来,但无法与Android兼容。基于Google对阿里云网站上应用的分析,这个平台尝试与Android兼容,但未能成功。
        阿里云OS到底是不是Android以外的东西,笔者通过技术手段对其进行一些分析。天语W700是一款使用了“阿里云OS操作系统”的手机,笔者找到一个天语W700手机的阿里云OS的刷机包。打开粗粗看一下,和Android的刷机包没两样。里面的应用全部是apk,这意味着它们都是以Dalvik可执行文件的形式存在的。



      Build.prop里面也指出是,Android2.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。



      内核是linux kernel,基础的C运行库是Bionic,有Dalvik,上层的应用全部是Dex格式,这些东西说明W700上的“阿里云OS操作系统”不太可能是Android以外的东西。
        当然以上的内容无法用于推测,这么做是否与Android的授权协议产生了矛盾。但是有一件事情比较明确,如果提供这个手机的厂商没有提供其中linux kernel的源代码,那很可能是非法的。
        更新:上篇用的ROM是错的,是Android的刷机包,不是官方原生的云OS的ROM,所以论据是错的。这里用官方原生云OS的ROM分析一下,到底阿里云OS和Android之间是什么关系。
        解开看大目录的结构:


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



      这里和Android ROM的目录结构是一模一样的,各位可以自己找个Android ROM对比以下。核心的几个目录:
        app: 存放ROM预装的app
        bin: 系统进程的目录
        framwork: Android Framework目录,就是Android应用程序运行所需要的库文件的目录
        lib: so库文件目录,相当于Windows的system32目录
        咱们再进到app目录看一下:


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


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



      左边的是Android应用的dex文件,右边的是阿里云应用的lex文件。可见,文件格式已经完全不一样了。
        好,app的不同已经看出来了,我们再来看系统核心进程有什么不同。进入到/system/bin目录:



      熟悉Android系统的人一眼就能看出来,am, app_process之类的名字都是Android核心进程的名字。多出来了几个:cloudserver, chpasswd.cgi之类,看来这就是阿里云所谓的“云服务”的核心进程了。
        好,文件的比较就到这里,那现在基本上可以下结论了,一个完整的Android系统,包括以下几个部分:
        1. bootloader:用来启动操作系统
        2. kernel: 系统内核
        3. 核心进程,就是 /system/bin 下面那堆东西
        4. so库: 系统运行基础,就是 /system/lib 下面那堆东西
        5. Android虚拟机,所有的上层应用都是靠虚拟机来运行的
        6. Android Framework: 所有的上层应用都是通过调用Framework来实现功能的,就是 /system/framework下面那堆东西
        7. 上层应用,比如说桌面Launcher, 拨号,短信,通讯录之类,就是/system/app下面那堆东西
        那么,阿里云OS,在上面7个部分中,虚拟机用的是自己的,上层应用是自己定制的,另外额外加了一个“云服务”,其余部分都是用的Android的。它和Android是什么关系已经很清楚了。
        那顺便八卦一下,为什么阿里云要搞成这个样子呢?说来就话长了,话说当年阿里云刚成立的时候,还是很有追求滴,当时收购了一家国内做Java虚拟机的公司(叫“猛犸科技”),同时还找了一帮MOTO做Linux内核的人,想搞个自己的操作系统出来。阿里云的CEO叫王坚,和李开复一样都是从微软研究院出身,但是颇看不起李开复搞的“点心OS”,认为“拿个Android来改一改,多土啊!我们要搞自己的操作系统!”于是呢,阿里云的一帮人就吭哧吭哧搞“自己的操作系统”了。结果呢,大家脚趾头都能想到,从头搞一个操作系统哪有那么容易,做了半年没做出来,咋给马云交差呢?于是也顾不上土不土了,拿Android改吧。虚拟机是现成的,那就换掉Android的虚拟机吧,好歹能算是自己的工作成果。但光换个虚拟机意义也不大啊,HTML5和WebOS的概念比较新潮,那就再加个“云服务”的概念吧,也算是国内HTML5的倡导者了。HTML5通过浏览器引擎跑,性能肯定比不上原生应用,那怎么保证操作流畅呢(特别是桌面Launcher,天天用,要是太卡,用户就疯了),那还是用原生应用来实现吧……于是,最后阿里云OS就长成现在这样了。

  • 最后,我相信Google的不作恶信条,不会无缘无故去咬别人。
总结:其实,你像小米那样,承认Android的基础,毕竟人家是开源的,做个MIUI肯定没有人怪你,但是你不能拿了别人的东西改一改,然后谎称是自主研发的,这就有点让人接受不了……毕竟人家是开源的,但是也不是说开源的就是可以随便拿来说是自己的……如果Android不开源,我觉得就没有阿里云OS了……
回复
使用道具 举报
tl800 | 来自辽宁
个人认为阿里OS自己的VM实现对Dalvik的二进制兼容没有什么值得诟病的。
技术方面,重新造轮子本来就是技术界的习惯,一个技术规范多套实现对完善技术规范本身是有益的,远如Wine、ReactOS,近的兼容Dalvik的VM也不止一个。
道德方面,重新实现一个兼容Dalvik字节码的VM理论上从已经开源的代码和规范就可以做到,阿里巴巴在做这件事情的过程中没必要用任何道德上值得质疑的手段,目前也尚没有听说这样的事
法律方面,如果阿里OS自己的VM是跟Dalvik完全不同的自有VM实现,那存在一定的专利风险,因为Google肯定有Dalvik相关的专利,这时Ali VS Google就跟Google VS Oracle非常相似,区别是Google的位置完全反过来了,不过鉴于此前GvO案件的舆论和审判结果,Google以此开战的可能性几乎为零;如果真是^C ^P,那其实倒是没有问题,因为Dalvik的代码是Apache License。
至于为什么很多不齿阿里云OS的言论,个人猜测是对技术不了解的情况下对“抄袭”、“山寨”这些标签的群体反应。
回复
使用道具 举报
niyuanqiang | 来自北京
先说明,转发别人的评论,出处,http://Cnbeta.com。
1.别人开发了一台设备,你把设备买回来,拆散了研究,并在此样板基础上,做了些借鉴和修改,并宣称是自己开发,而且功能更好,能兼容他人,大家信吗
2.亚马逊把android改得面目全非也没见google说什么啊,阿里不要为自己贴金了
3.是不是撒谎很容易证明,开源就行了
-----------------------------------
继续补充下,有个新闻,题目为,『阿里云“电子商务云”获亿元政府补贴』。有兴趣大家可以搜索下。
回复
使用道具 举报
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影