AOSP团队开发模式

# AOSP相关内容

AOSP

android open source project

安卓开源工程

相关内容,请大家看这个链接吧

AOSP安卓开源项目 (opens new window)

# AOSP团队开发模式

这里的开发模式,指的是人员的角色,以及相关硬件的架构

# 角色

  • feature owner 功能开发者。这里的项目指的是各个应用,各个模块。即包括上层应用,也包括framework各个模块,或者底层模块。ProjectOwner其实就是模块负责人。最后feature要集成到系统里的。

  • project owner 项目管理者。一般来说,以产品为单位,一个产品有一个project owner,这个人负责版本的编译,发布,出了问题找各个feature owner.

# 设备

  • 代码服务器 用于管理代码(上面主要有gitlab)
  • 编译服务器 用于编译系统 (上面主要有编译系统的环境)
  • 个人PC电脑

# 开发模式

其实开发模式的主要区别就是在个人电脑上进行编译,还是在服务器上进行编译。

  • 在个人电脑上进行编译 程序员的电脑要求配置高

图片描述

如果说是各自在自己的电脑进行开发,编译,则要求程序员的也就是feature owner的电脑配置比较高。

cpu给个i7九代以上标压的,内存16g起,配固态硬盘512g

那么呢,feature owner在各自的电脑上进行编译,开发,测试。然后提交代码到代码服务器上。编译服务器按一定的计划自动地去拉取服务器上的代码进行编译发版本。

对于feature owner来说,对代码服务器有拉取代码的动作,以及提交代码的动作。

  • 在服务器上进行编译 程序员的电脑要求不高,基本上是编译的功能。

图片描述

编译服务器一台可以三到四个人用,看具体配置吧

  • CPU 给个至强E5以上,一个或者2个
  • 硬盘1T固态硬盘+4~10T 机械硬盘(10000转的)
  • 内存给到32~64G

feature owner的电脑大概i5九代以上,基本就够用的,内存8g,固态硬盘256+2T机械硬盘

如果是使用服务器进行编译,则需要给每个feature owner开一个账号,分配一定的空间。

可以自动化脚本完成,好久就是效率高有新人来了,直接一个命令就创建好了。新人收到邮件,就可以工作了。

然后各自向代码服务器拉取代码,提交代码即可。

那怎么进行编辑呢?

我们给服务器安装samba,然后在自己的windows电脑就可以浏览服务器上的内容了。

复制一份,进行修改,对比代码过去。

samba的配置请看这篇文章啦

Ubuntu安装和配置Samba (opens new window)

# 关于编译

编译有两种,一种是全编译,一种是增量编译

  • 全部进行编译的话,看配置和版本吧。在公司编译5.1大概是50分钟左右,配置属于上服务器里的低配,编译6.0大概是30多分钟。

我用自己的电脑编译7.1,20多分钟的样子。我的电脑也是服务器级别的。

  • 增量编译。大概是5分钟以内。

# 版本发布

项目计划的时候,开会决定多久发一个版本,多久测试回归一个版本。

然后去编写脚本,到一定的时候,就从代码服务器拉取代码进行编译,把编译结果上传到ftp服务器,发出邮件,让测试人员下载rom刷机测试。

上次更新: 2021/10/22, 23:03:57