扫码打开虎嗅APP
原生云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结尾的,前一篇帖子《[多图论证]阿里云OS不太可能是Android以外的东西》用的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之类,看来这就是阿里云所谓的“云服务”的核心进程了。