<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 編輯觀(guān)點(diǎn) > 谷歌調整Android OS開(kāi)發(fā)模式:AOSP開(kāi)源項目受影響

谷歌調整Android OS開(kāi)發(fā)模式:AOSP開(kāi)源項目受影響

—— 將繼續發(fā)布Android源代碼
作者:陳玲麗 時(shí)間:2025-04-01 來(lái)源:電子產(chǎn)品世界 收藏

上周,國內有部分媒體援引 Authority報道稱(chēng),決定終止系統。而實(shí)際上,是將對開(kāi)發(fā)策略進(jìn)行調整 —— 所有 OS的開(kāi)發(fā)工作都改為在內部分支中進(jìn)行,以提高整體的研發(fā)效率。對代碼的修改將不再實(shí)時(shí)公開(kāi),而是僅在發(fā)布包含這些修改的新版本分支時(shí)統一對外發(fā)布。

本文引用地址:http://dyxdggzs.com/article/202504/468890.htm

640.png

還強調將繼續發(fā)布新版本Android的,今年即將發(fā)布的Android 16系統其仍會(huì )按慣例公開(kāi)。除此之外,由于A(yíng)ndroid的Linux內核分支遵循GPLv2許可證,因此谷歌必須遵守協(xié)議,繼續公開(kāi)相關(guān)代碼,這部分不會(huì )受到此次調整的影響。

什么是AOSP?

AOSP全稱(chēng)為"AndroidOpen SourceProject",它是谷歌根據Apache 2.0許可證發(fā)布的項目。Apache 2.0允許任何人使用、分發(fā)或修改基于A(yíng)OSP的操作系統,而無(wú)需支付任何許可費用或發(fā)布。這種寬松的許可結構促進(jìn)了AOSP被廣泛采用,從而催生了各種定制系統。

谷歌最早做AOSP項目時(shí),其目的是借助廠(chǎng)商與開(kāi)發(fā)者對開(kāi)源的貢獻,完善Andriod在移動(dòng)終端上的體驗,以對抗彼時(shí)剛剛崛起的iOS系統。所以我們可以看到在手機行業(yè)早期,有著(zhù)大量基于A(yíng)OSP魔改的第三方UI/OS。

為了平衡AOSP的開(kāi)放性與其產(chǎn)品開(kāi)發(fā)策略,谷歌此前主要通過(guò)AOSP分支和內部開(kāi)發(fā)分支進(jìn)行系統維護,其中前者面向全球開(kāi)發(fā)者開(kāi)放,不涉及任何谷歌專(zhuān)有服務(wù),而后者僅供擁有GMS(Google Mobile Services,谷歌移動(dòng)服務(wù)) 許可協(xié)議的廠(chǎng)商使用。

為何調整開(kāi)發(fā)策略

谷歌內部分支所包含的代碼量遠超AOSP分支,這就造成公開(kāi)的AOSP版本往往落后于內部版本。即便谷歌已經(jīng)采用了基于主干的開(kāi)發(fā)模式,試圖縮小兩者之間的差距,但代碼同步依舊是個(gè)復雜棘手的難題,這種版本差距在A(yíng)OSP代碼和谷歌最新的Android 16測試版之間表現得極為顯著(zhù)。

代碼不同步帶來(lái)的問(wèn)題是,谷歌需要投入大量時(shí)間來(lái)合并AOSP和內部分支之間的補丁。因此谷歌在版本更新前,需要解決AOSP分支與內部分支之間的合并沖突,在付出大量的資源的同時(shí)又無(wú)法直接獲得收益。

如果選擇對現有Andriod系統的開(kāi)發(fā)模式進(jìn)行整合,全部集中于內部分支中,谷歌不僅能夠大幅削減運營(yíng)成本,還能夠逼迫那些需要緊跟Android更新的OEM廠(chǎng)商,諸如車(chē)機、電視廠(chǎng)商選擇Android內部開(kāi)發(fā)分支,通過(guò)付費去獲得Android系統最新的安全補丁和優(yōu)化支持。

最大的變化

谷歌官方對AOSP進(jìn)行更新,推出新的統一入口android-latest-release。通過(guò)這個(gè)入口,開(kāi)發(fā)者可以更方便地獲取最新穩定版本的源代碼,無(wú)需再手動(dòng)查找復雜的分支。

640-2.png

對于變更的部分,谷歌解釋道,“在此更改之后,AOSP主分支上的CI構建和測試覆蓋率將停止(ci.android.com上將不再有aosp-main構建)。我們在A(yíng)OSP中發(fā)布的發(fā)布分支(例如android15-release、android15-tests-dev)的CI構建將繼續。AOSP主分支將被鎖定并設置為只讀,可以上傳更改以供審核,但它們不會(huì )被合并?!?/p>

其實(shí)大部分Android組件本身已經(jīng)采用了這種策略,谷歌只是進(jìn)一步統一了開(kāi)發(fā)流程。目前,一些組件(如構建系統、更新引擎、藍牙協(xié)議棧、虛擬化框架以及SELinux配置)優(yōu)先在A(yíng)OSP開(kāi)發(fā),即完全在公開(kāi)環(huán)境下進(jìn)行;而Android的大部分組件(如核心操作系統框架)主要在谷歌內部開(kāi)發(fā),盡管部分功能(如僅限解鎖設備使用的存儲API)仍在A(yíng)OSP中開(kāi)發(fā)。

最大的變化在于,部分特定Android組件的公共源代碼發(fā)布頻率將會(huì )降低,獲取開(kāi)發(fā)進(jìn)度等信息的頻率也會(huì )降低,但每次進(jìn)度更新將包含更多的信息、功能和修復內容。

就目前來(lái)看,谷歌此舉影響有限,對于普通用戶(hù)來(lái)說(shuō),這一變化幾乎不會(huì )產(chǎn)生直接影響。因為絕大多數主流手機廠(chǎng)商早已和谷歌簽訂了各種授權合作協(xié)議,他們仍然可以得到和使用最新的Android源代碼,獲得谷歌GMS認證,正常預裝谷歌的各種服務(wù)和應用。而由于谷歌最終仍會(huì )將代碼發(fā)布到AOSP,所以小米的MIUI、OPPO的ColorOS等基于A(yíng)OSP開(kāi)發(fā)的系統都不會(huì )受到影響。

對于開(kāi)發(fā)者而言,一般使用的是谷歌最后統一公開(kāi)的源代碼,例如,一般的應用程序開(kāi)發(fā)者使用的是SDK(軟件開(kāi)發(fā)包)開(kāi)發(fā)應用程序。SDK提供了開(kāi)發(fā)者需要的所有庫(APIs)、工具(如Android Studio、編譯器、調試器)和模擬器,使他們能夠與Android操作系統交互并構建用戶(hù)界面,因此無(wú)需關(guān)心操作系統的底層實(shí)現細節。

真正受沖擊的是依賴(lài)公共AOSP分支的中小廠(chǎng)商及第三方開(kāi)發(fā)者,他們獲取安全補丁和新功能的周期可能延長(cháng),需重新評估技術(shù)路線(xiàn)。分析人士稱(chēng),個(gè)人ROM開(kāi)發(fā)者和刷機用戶(hù)可能會(huì )面臨更多技術(shù)障礙。

640-3.png

那么,谷歌為什么不中斷AOSP的更新?一個(gè)很重要的原因是,基于A(yíng)OSP打造的終端其實(shí)也在維護著(zhù)谷歌的生態(tài)。這些終端數量無(wú)法統計,總數可能在上百億臺,除了手環(huán)、智能眼鏡等移動(dòng)終端外,包括電視、冰箱、洗衣機等智能家居大多也采用AOSP系統,還有工業(yè)應用,以及各類(lèi)微處理器。而這些五花八門(mén)的終端選擇AOSP的核心原因是,這個(gè)系統能夠以開(kāi)源的形式持續更新,同時(shí)廠(chǎng)商們可以通過(guò)開(kāi)源社區,相對容易地做硬件適配。

Android 16即將發(fā)布

近幾年,谷歌發(fā)布Android新版本都選在8月或之后,但是今年一反常態(tài),加快了下一版重大升級的開(kāi)發(fā),計劃在今年上半年完成新系統推送。在MWC 2025上,Android系統負責人Sameer Samat表示,Android 16有望在6月發(fā)布。此外,其他谷歌高管表示,Android開(kāi)發(fā)團隊正在努力解決測試版中發(fā)現的問(wèn)題,為提前推送新操作系統更新做準備。

1月,谷歌推出了第一個(gè)Android 16測試版,最近的一個(gè)版本是3月發(fā)布的Android 16 Beta3更新。關(guān)于谷歌提前發(fā)布Android 16的原因,猜測有很多,其中有提到谷歌開(kāi)發(fā)團隊的變化:將Android開(kāi)發(fā)切換到「Trunk Stable」模式,即意味著(zhù)使用Android的每個(gè)人都在為相同的代碼分支做貢獻,通過(guò)切換到Trunk Stable開(kāi)發(fā),可以更定期、更快速地構建整個(gè)系統。

隨著(zhù)Android 16版本的臨近,你最期待的新功能有哪些?此前有傳言,谷歌想要讓Android重新回歸“大屏幕”,Android 16將帶來(lái)Linux子系統或虛擬機,還有硬件加速,這對于A(yíng)ndroid的桌面端體驗有質(zhì)的提升??梢源_定的是,Google I/O的年度開(kāi)發(fā)者大會(huì )定于5月20日至21日舉行,屆時(shí)我們很可能會(huì )聽(tīng)到更多消息。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>