Anbox源码分析(一)

Anbox源码分析(一)

由于项目需要,近期在研究Anbox相关的内容。发现网上对anbox的源码和机制介绍并不是太多。同时由于在CSND观摩到许多大牛的文章,让自己的学习和工作都有很大的收获,所以,本人也想回馈社区,把自己的一些收获分享给社区。
这也是本人的第一篇博客。

什么是Anbox

相信读到这篇文章的兄弟们应该对anbox有一个大概的了解了,anbox其实就是Android in a box,翻译成中文是 容器中的Android。其实就是在Linux系统中通过lxc等技术虚拟化Android。使Android可以在linux系统中运行。

Android基本架构

Android一共包含四层架构,从下往上以此是Linux内核、系统库和android运行环境、应用程序员框架、应用程序。具体可以看这篇文章,很详细。这也是Android能够以容器的形式运行在Linux上的基础。

Anbox源码下载及安装

源码可以直接去github下载。里面的readme文件也有详尽的编译和安装步骤,就不再多说了,中文翻译的也有。按照步骤下载安装即可。

Anbox基本架构

anbox基本架构上图是anbox官方给出的架构图,从图中可以看到,anbox主要有两个部分,Session Manager和Container Manager。

其中Session Manager主要做了三部分工作,虚拟一个Android的sufaceflinger,即Android的图像系统,可以将Android里的不同APP渲染的结构进行图层的合成,使所有APP的渲染结果最终合成在一个窗口上;虚拟一个windowmanager,它的功能是给Android里的APP提供对应的窗口,即给每个APP提供自己的渲染surface;虚拟一个activitymanager,就是管理Android内部的进程的,包括APP的启动、关闭等等。。。而Container Manager类似与docker,使Andorid的镜像在容器中运行,没有做过多研究,这部分可以用docker替代。

总结

本文对anbox架构做了一个简要的分析,以此为基础,下篇文章将会介绍anbox中视频渲染的原理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值