奇谱科技 奇谱科技

CHIP奇谱
关注产品与技术 分享体验与新知
广告

安卓仍将开源,开发工作转内部

作者:原创

近日关于谷歌将停止维护安卓开源项目的消息传出,引起广泛关注。据外媒Android Authority报道,谷歌明确,安卓操作系统仍将开源,继续公布源代码,只是开发工作从下周开始将完全转到内部进行,相关更改的源代码只有在谷歌发布包含这些更改的新分支时才会发布。

目前,谷歌会在公开的安卓开源项目(Android Open Source Project,简称AOSP)上分享部分开发工作,但未来,这些工作将全部在内部完成。谷歌强调推行这一私有化举措的目的是为了简化安卓操作系统的开发流程,而不是阻碍外部开发人员,这也是谷歌在每次发布版本后仍将继续向AOSP发布源代码的原因。

安卓开源项目(AOSP)是谷歌在Apache 2.0许可证下发布的操作系统。Apache 2.0是一种软件许可证,允许任何人使用、分发或修改并分发基于AOSP的操作系统,无需支付任何许可费用或公开源代码,这种宽松的许可结构促进了AOSP的广泛采用。

众多OEM厂商利用这一点,通过修改代码来打造自己的定制版本,设计自己的外观和体验。此外,那些密切关注安卓开源项目的人,经常会在谷歌对AOSP进行公开更改时发现即将推出的功能的线索。

与其他许多开源项目一样,AOSP接受第三方开发者的代码贡献。谷歌自行开展大部分AOSP开发工作,对哪些代码可以合并到AOSP以及何时发布新版本源代码拥有最终决定权。为了平衡AOSP的开放性与其产品开发策略,谷歌维护了两个主要的安卓分支:公开的AOSP分支和内部开发分支。AOSP分支对所有人开放,而谷歌的内部分支则仅限于与谷歌签订了谷歌移动服务(GMS)许可协议的公司访问。

经过16年的发展,如今谷歌要对其开发安卓开源版本的方式进行重大调整,为了简化安卓操作系统的开发,谷歌将不再保留两个“主要”分支。由于谷歌在其内部分支中开发了安卓的大部分内容,公开的AOSP分支通常远远落后于内部可用的版本。这种差异在比较纯净的AOSP构建版本与谷歌最新基于内部分支构建的安卓16测试版的功能和API可用性时尤为明显。尽管转向主干开发模式减少了这种差异,但它仍然存在,并继续给谷歌带来挑战。

这种差异迫使谷歌花费时间和精力在公开的AOSP分支和其内部分支之间合并补丁。由于这两个分支的差异很大,合并冲突经常出现。例如,有一个补丁用于为导航栏和键盘启用屏幕放大功能。该补丁引入了一个新的无障碍设置,该设置被放置在无障碍设置列表的末尾。这就会导致合并冲突,因为AOSP和谷歌内部分支中的列表长度是不同的。虽然解决这个具体问题的方法很简单,但许多其他AOSP补丁在集成到谷歌内部分支时会引发类似的合并冲突。

很可能存在无数类似这种合并冲突的例子,这就是谷歌要摒弃目前这种双线并行的安卓开发策略,转而将所有开发工作转移到内部的原因。谷歌将继续发布新安卓版本的源代码和安卓的Linux内核分支的源代码,将要改变的是特定安卓组件公开源代码发布的频率。目前,像构建系统、更新引擎、蓝牙堆栈、虚拟化框架和SELinux配置等一些组件是AOSP优先的,这意味着它们完全是在公开环境下开发的。从下周开始,所有安卓开发工作都将在谷歌的内部分支中进行,相关更改的源代码只有在谷歌发布包含这些更改的新分支时才会发布。

这一变化对普通用户的影响微乎其微。尽管它简化了谷歌的安卓操作系统开发流程,可能会对新版本的开发速度和漏洞减少产生一定影响,但总体效果可能难以察觉。

对大多数开发者的影响也很小。应用开发者不受影响,因为这仅涉及平台开发。平台开发者,包括那些开发自定义ROM的人,也大多不会察觉到变化,因为他们通常基于特定的标签或发布分支开展工作,而不是基于主AOSP分支。

真正受到影响的是那些喜欢阅读或为安卓开源项目(AOSP)贡献代码的外部开发者,这一变化减少了他们对谷歌开发工作的了解。如果没有谷歌移动服务(GMS)许可,参与安卓操作系统开发将变得更加困难,因为可用的代码将始终滞后数周甚至数月。这一变化也将使一些开发者更难跟上安卓平台的新变化,因为他们将无法再跟踪AOSP中的代码更改。



赞(0)
未经允许不得转载:奇谱科技 » 安卓仍将开源,开发工作转内部
分享到:
广告