3月27日,國內(nèi)有媒體援引Android Authority報(bào)道稱,谷歌決定終止開源安卓系統(tǒng)。一時(shí)間,不少安卓設(shè)備用戶人心惶惶,擔(dān)憂這樣的策略變動(dòng)會(huì)對(duì)自己的手機(jī)有影響。
據(jù)《每日經(jīng)濟(jì)新聞》記者(以下簡(jiǎn)稱“每經(jīng)記者”)了解,谷歌的安卓開源項(xiàng)目(AOSP)有兩個(gè)分支:AOSP公開分支及內(nèi)部開發(fā)分支。今后谷歌的所有安卓開發(fā)工作都將在內(nèi)部分支中進(jìn)行。
這與谷歌過去的安卓開發(fā)方式不同。以前,谷歌頻繁更新AOSP分支,面向所有人開放。內(nèi)部分支僅對(duì)谷歌員工以及持有谷歌移動(dòng)服務(wù)(GMS)許可證的公司開放。
每經(jīng)記者就此向谷歌中國公關(guān)方面發(fā)出詢問:谷歌是否會(huì)改變開源政策?谷歌回應(yīng)稱:“以官方公告為準(zhǔn)?!?/p>
Android Authority的報(bào)道稱,谷歌做出這一改變是為了簡(jiǎn)化流程,由于兩個(gè)分支在功能和API支持方面并不同步,這使谷歌不得不在每次發(fā)布時(shí)費(fèi)力地合并分支。谷歌聲稱,通過專注于內(nèi)部分支,它可以簡(jiǎn)化發(fā)布流程,讓每個(gè)開發(fā)者的工作都更輕松。
谷歌認(rèn)證的安卓開發(fā)專家拭心對(duì)每經(jīng)記者表示,這一變動(dòng)對(duì)于開發(fā)者和消費(fèi)者沒有什么影響。唯一可能受到影響的是沒有GMS許可證的手機(jī)廠商,因?yàn)樗麄儧]法獲取最新的更新。
每經(jīng)記者注意到,當(dāng)?shù)貢r(shí)間3月27日,谷歌官方對(duì)AOSP進(jìn)行更新,推出新的統(tǒng)一入口android-latest-release。通過這個(gè)入口,開發(fā)者可以更方便地獲取安卓最新穩(wěn)定版本的源代碼,無需再手動(dòng)查找復(fù)雜的分支。谷歌建議平臺(tái)開發(fā)者使用這一新入口來開發(fā)AOSP。
圖片來源:安卓官方
安卓終止開源?谷歌:專注于內(nèi)部分支開發(fā),仍致力于發(fā)布源代碼
Android Authority的報(bào)道一出,國內(nèi)有媒體便援引稱,谷歌決定終止開源安卓系統(tǒng)。這一消息立時(shí)在廣大安卓設(shè)備用戶群中炸開了鍋,不少人擔(dān)憂這樣的變動(dòng)會(huì)對(duì)自己的手機(jī)有影響。
實(shí)際上,每經(jīng)記者發(fā)現(xiàn),谷歌已經(jīng)在Android Authority的報(bào)道中明確回復(fù):“谷歌將致力于發(fā)布安卓的源代碼,這一變化并不意味著安卓正在走向閉源?!?/p>
谷歌還強(qiáng)調(diào),該公司將繼續(xù)發(fā)布新安卓版本的源代碼。例如,今年晚些時(shí)候,谷歌將發(fā)布Android 16系統(tǒng),其源代碼仍將按慣例公開。
那谷歌放棄AOSP究竟意味著什么呢?要弄清這點(diǎn),有必要先了解下AOSP。
AOSP(全稱安卓開源項(xiàng)目)是谷歌根據(jù)Apache 2.0許可證發(fā)布的操作系統(tǒng)。Apache 2.0允許任何人使用、分發(fā)或修改基于AOSP的操作系統(tǒng)。小米的HyperOS系統(tǒng)、三星的One UI等安卓手機(jī)系統(tǒng)就是基于此搭建的。
圖片來源:安卓官方
為了平衡AOSP的開放性與其產(chǎn)品開發(fā)策略,谷歌設(shè)置了兩個(gè)主要的安卓分支:AOSP公開分支及內(nèi)部開發(fā)分支。AOSP分支可供任何人訪問,而內(nèi)部分支僅限于谷歌員工和持有GMS許可協(xié)議的公司訪問。
但內(nèi)部開發(fā)分支的開發(fā)進(jìn)度往往會(huì)領(lǐng)先AOSP公開分支一大截,因此,AOSP公開分支的功能和API經(jīng)常落后于谷歌內(nèi)部版本。而這使谷歌不得不在每次發(fā)布時(shí)費(fèi)力地合并分支,有時(shí)候,分支差異過大,就會(huì)出現(xiàn)漏洞(bug)。
以啟用導(dǎo)航欄和鍵盤屏幕放大功能的補(bǔ)丁為例,該補(bǔ)丁引入了新的輔助功能設(shè)置,該設(shè)置被放置在輔助功能設(shè)置列表的末尾。這會(huì)導(dǎo)致合并沖突,因?yàn)锳OSP公開分支與內(nèi)部分支之間的列表長(zhǎng)度不同(圖中變量accessibility_magnify_nav_and_ime設(shè)置為58和59沖突)。
圖片來源:Android Authority
谷歌聲稱,通過專注于內(nèi)部分支,它可以簡(jiǎn)化發(fā)布流程,讓每個(gè)開發(fā)者的工作都更輕松。將核心開發(fā)全面轉(zhuǎn)向私有分支讓設(shè)備制造商和開發(fā)者可以將注意力放在當(dāng)前的穩(wěn)定版安卓源代碼上,無需為了跟上安卓開發(fā)步伐而追著使用尚不完善的版本。
另外,值得一提的是,和許多開源項(xiàng)目一樣,AOSP也會(huì)接受合格的第三方開發(fā)者提交的代碼。
專家:對(duì)開發(fā)者和消費(fèi)者沒什么影響
按照谷歌的回應(yīng),從下周開始,所有安卓開發(fā)都將在內(nèi)部分支中進(jìn)行,只有當(dāng)谷歌發(fā)布包含這些更改的新分支時(shí),才會(huì)發(fā)布更改的源代碼。
其實(shí),這種模式早已用于安卓系統(tǒng)大多數(shù)組件的開發(fā)流程,谷歌此次只是將分散的開發(fā)模式統(tǒng)一整合到單一代碼分支中。目前,大多數(shù)組件(包括核心安卓操作系統(tǒng)框架)都是在內(nèi)部分支中開發(fā)的,只有如藍(lán)牙等少部分功能還在AOSP公開分支開發(fā)。
谷歌認(rèn)證的安卓開發(fā)專家拭心對(duì)每經(jīng)記者表示,谷歌最新的變動(dòng)對(duì)于開發(fā)者和消費(fèi)者沒有什么影響。
他進(jìn)一步解釋稱,開發(fā)者一般使用的是谷歌最后統(tǒng)一公開的源代碼,而非AOSP分支中的代碼,后者公布的都是還在開發(fā)中的代碼,并不完善。例如,一般的應(yīng)用程序開發(fā)者使用的是SDK(軟件開發(fā)包)開發(fā)應(yīng)用程序。SDK提供了他們需要的所有庫(APIs)、工具(如Android Studio、編譯器、調(diào)試器)和模擬器,使他們能夠與安卓操作系統(tǒng)交互并構(gòu)建用戶界面,而無需關(guān)心操作系統(tǒng)的底層實(shí)現(xiàn)細(xì)節(jié)。
而對(duì)于普通消費(fèi)者來說,他們使用的安卓系統(tǒng)其實(shí)還更加遠(yuǎn)離原始安卓系統(tǒng)。國內(nèi)大部分消費(fèi)者使用的是手機(jī)廠商在安卓基礎(chǔ)上修改的自有系統(tǒng),所以更不可能受到什么影響。并且,谷歌并沒有宣布放棄維護(hù)安卓系統(tǒng),對(duì)安卓系統(tǒng)的支持也不會(huì)斷。
拭心認(rèn)為,唯一會(huì)受到影響的是依賴于AOSP開發(fā)自有系統(tǒng),又沒有與谷歌簽訂GMS協(xié)議的手機(jī)廠商。因?yàn)樗麄兊墓ぷ髦苯由婕安僮飨到y(tǒng)的核心部分、硬件抽象層 (HAL) 或系統(tǒng)服務(wù),這需要直接訪問和修改AOSP源代碼。
目前,大部分主流手機(jī)廠商早就跟谷歌簽好了GMS協(xié)議。只要有協(xié)議,廠商就還能照常拿到最新的安卓源代碼,訪問內(nèi)部分支。