如今网络机顶盒和智能电视预装系统已经被阿里云OS占据了半壁江山,相对于原生Android系统来说,阿里云OS因其高度定制化的统一解决方案等诸多优势受到了众多盒子及电视品牌青睐,很多盒子商品介绍时也会可以注明采用阿里云OS,也有特定的更新版本号,似乎,它并非基于Android系统,那么阿里云OS究竟是从何而来?它和Android原生系统有何区别呢?一起来看看。

其实关于阿里云OS和Android之争早在两年前就开始了,Android开发领头人Andy Rubin在其Google+主页中这样写道:阿里云系统采用了谷歌Android系统的运行环境,明显是由Android系统修改得来。Andy Rubin还称,事实是,阿里云系统包含了Android中运行环境,明显是从Android中演变而来,但无法与Android兼容。基于Google对阿里云网站上应用的分析,这个平台尝试与Android兼容,但未能成功。

那么,阿里云OS到底是不是Android以外的东西呢,通过一些技术手段可以来验证一下,我们使用某使用阿里云OS的刷机包来验证(为避免广告之嫌,就不指出是具体机型了)首先我们将.zip包打开看看。

以下是解压包的目录结构,是不是似曾相识?

我们发现,根目录下是一个boot.img,这就是Android系统的bootloader(BL),也就是启动分区。另外有个system目录,这就是Android系统的system分区,就目前的样子和Android几乎没有区别。进入system目录往下看:

阿里云OS在这里和Android ROM的目录结构是一样一样的,如果方便,大家可以安装RE管理器打开android系统目录对比一下。核心的几个目录:

app: 存放ROM预装的App,非核心App

bin: 系统进程的目录

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

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

接下来我们打开app文件,来看看程序后缀名:

终于找到区别了,这里边所有的app都是以.lar为后缀的,而我们都知道,Android下所有的app都是以apk结尾的。这是我们找到的第一处阿里云OS和Android的不同,因为apk是Dalvik虚拟机管理应用程序的文件格式,而阿里云开发了自己的虚拟机,用lar文件来管理。lar文件和apk文件有什么不同?我们知道apk文件其实就是一个zip文件,用WinRAR可以直接打开看,那lar文件呢?用WinRAR果然也可以直接打开:

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

左边的是Android应用的odex文件,右边的是阿里云应用的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是什么关系已经很清楚了,也就是说阿里云OS大部分都是基于Android的,本质上我们更倾向于它是Android衍生版,而不能称之为独立OS。

alios是安卓吗_揭秘:阿里云OS和Android的主要区别是什么相关推荐

  1. 《纯技术分析阿里云OS和Android之间的关系》补充

    前面一份投稿的错误很抱歉,rom本身就找错了,用了一个AOSP-like的刷机包.好在这份内容错误的投稿多少起到了抛砖引玉的作用,当天晚上,就给出了正确的rom的分析<纯技术分析阿里云OS和An ...

  2. 纯技术分析阿里云OS和Android之间的关系

    注:转载一篇比较客观的文章. 前一篇<[多图论证]阿里云OS不太可能是Android以外的东西>用的ROM是错的,是Android的刷机包,不是官方原生的云OS的ROM,所以论据是错的.这 ...

  3. 阿里云OS和android的关系

    转载自:http://www.williamlong.info/archives/3222.html 一直想知道阿里云OS究竟做了什么,从网上找到这篇文章,不一定客观,但可供参考. 近日,有关谷歌An ...

  4. alios是安卓吗_华为洪蒙系统,阿里云OS,到底是不是安卓?

    HarmonyOS 鸿蒙系统目前只是看到一个PPT和一个荣耀智慧屏,所以无法直接看到本质,但是我们还是能窥其一二. 这里先分析阿里云OS. AliOS首页 这是阿里云OS的首页.打开开发者页面,仔细瞧 ...

  5. alios是安卓吗_详解YUNOS系统和安卓系统到底有什么区别

    最近阿里的云溪大会结束了,朵唯发布了唯一的一款云os的手机,各种炫各种吊,不过就宣传来看,似乎,它并非基于Android系统,那么阿里云OS究竟是从何而来?它和Android原生系统有何区别呢?一起来 ...

  6. 深度揭秘阿里云 Serverless Kubernetes

    作者 | 陈晓宇(阿里云技术专家) 策划 | 褚杏娟 伴随着云原生的发展,从早先的单机版 Docker 到 Kubernetes 的编排领域的一统江湖,再到云上托管 Kubernetes,技术风雨变化 ...

  7. 安卓手机挂载ALIST阿里云盘

    安卓手机挂载ALIST阿里云盘 下载termux https://f-droid.org/en/packages/com.termux/ 安装alist 安装命令:apt update &&a ...

  8. 磐久网络|揭秘阿里云HAIL数据中心网络

    HAIL 是阿里云数据中心网络架构的代号,取自 High Availability(高可用),Intelligence(智能化),and Low Latency(低延时),代表着阿里云构建数据中心网络 ...

  9. 阿里云OS 2012(天语W806大黄蜂)破解教程/ROOT教程(一键破解法)

    导读:本教程适用于阿里云OS 2012(天语W806大黄蜂),通过使用一键ROOT工具KingRoot 2.1软件,就可对阿里云OS 2012(天语W806大黄蜂)进行一键破解/一键ROOT. 所需软 ...

  10. 阿里云OS之死(1)

    目前业内都看好云端的发展,在移动互联网上也比较看好由HTML5带来的Web App 的前景,但是这条路比较漫长.在通向这条大道的过程中必然会有许多参与者倒在路上,虽然我不希望阿里云OS就这样挂掉,但是 ...

最新文章

  1. android MVP 模式内存泄漏如何解决
  2. 解决maven下载jar慢的问题(如何更换Maven下载源)
  3. 看看这些大龄程序员都做了些什么
  4. 【重复制造精讲】2、主数据介绍
  5. diff命令输出格式解读
  6. linux 使用退格键时出现^H解决方法
  7. Linq 通过反射动态查询对象
  8. 学习Python的好去处,微信公众号“Python小屋”
  9. 发光二极管pcb封装图画法_【AD封装】PH2.0座子插件贴片(带3D)
  10. jq获取页面高度_jquery获取文档高度和窗口高度汇总
  11. 应用场景|R包分类整理
  12. rac san+oracle_Oracle RAC安装部署之规划(一)
  13. NIPS历年论文 NIPS2020论文集
  14. Verilog编程网站学习——门电路、组合电路、时序电路
  15. vnc支持用计算机民远程吗,VNC远程控制软件是什么?有没有更好的远程桌面控制解决方案?...
  16. Springmvc 控制器的作用
  17. 20张图片梳理工业软件全貌
  18. 计算机加号公式,怎样在excel表格中显示加号,而不被当成是公式来计算
  19. STM32标准库修改HSI时钟教程
  20. Google TV 来了

热门文章

  1. 基层群众工作存在的问题_联系服务群众方面存在的问题及原因
  2. 第一章 SpringMvc---Web MVC简介
  3. 时间固定效应和个体固定效应的选择_【十分钟计量经济学】面板数据选择固定效应还是随机效应...
  4. 吃瓜 || 一文看懂BCH分叉事件始末
  5. android扁平化按钮图标,35个扁平化设计(Flat UI)图标UI Kit素材下载
  6. Linux efi分区被删除了,如何恢复意外删掉的EFI系统分区
  7. 使用SQL语句在K3里进行反结帐- -
  8. HTML对字体的所有操作详解(经典)
  9. cad动态块制作翻转_cad动态块拉伸制作方法,单开门动态块制作教程具体分析
  10. 【kotlin】基本语法when的使用,类似于java中的switch,但是又青出于蓝而胜于蓝