新智元報道
編輯:定慧 犀牛
【新智元導讀】谷歌將改變一直以來對Android開源項目(AOSP)的公開開發模式,轉而在私有環境中進行。但這并非意味著Android徹底閉源。對于普通用戶而言不會有什么影響,但卻讓科技愛好者失去了一扇「窺視」安卓內部的窗口。
據Android Authority報道,谷歌已經向其確認,谷歌將很快在私有環境中開發Android開源項目(AOSP,Android Open Source Project),但依然會開源代碼。
網站地址:https://www.android.com/
很多小伙伴可能會慌了,我的安卓手機不能用了?
目前來看,谷歌私下開發AOSP項目還不至于到「天塌下來」的地步,普通手機用戶更是幾乎感覺不到什么變化。
大部分主流手機廠商(比如小米、vivo、三星等)早就跟谷歌簽好了各種合作伙伴協議。
只要這些協議還在,廠商們就還能照常拿到最新的Android源代碼,通過Google自家的認證,正常預裝Google Play、Gmail這些服務和應用。
谷歌對安卓系統的支持也不會斷。
一句話,還是老樣子。
那么問題來了,谷歌到底做了什么?
這就要從谷歌的安卓開源項目(AOSP)說起了。
什么是Android Open Source Project(AOSP)?
AOSP簡單來說,就是谷歌給所有Android設備提供了一個「毛坯房」——操作系統的基本框架和核心部件。
任何開發者都可以免費下載它的代碼,隨意改動、分發,然后打造自己的定制系統。
比如小米HyperOS、vivo OriginOS都是在AOSP基礎上搭建起來的。
網站地址:https://source.android.com/?hl=zh-cn
而Android系統本身是跑在Linux內核上,這個內核用的是GPL許可證,規則挺嚴格。
簡單說就是,只要使用采用了GPL許可證的代碼,你就得開源,體現「要玩就一起玩」的精神。
但Google為了讓Android既開源又能賺錢,玩了個聰明設計:底層Linux內核老實按GPL開源,但中間AOSP大部分代碼卻用寬松的Apache 2.0許可證。
這樣廠商既能自由改動Android,不用全盤公開,還能加自己專有的東西,既開放又靈活。
具體來說,Linux內核和模塊還得開源,但到了用戶空間的應用就不受GPL限制,想閉源就閉源。
結果就是,AOSP底層GPL開源,中層Apache寬松開源,上層應用隨開發者意愿,想怎么玩就怎么玩。
谷歌的這點小聰明那是相當的成功。
回想將近二十年前,智能手機剛起步那會兒,蘋果發布了iPhone。
谷歌也想在移動市場分一杯羹,于是決定推出Android。
這不光幫助谷歌賺了個技術開放的好名聲,還把一大堆廠商和用戶從塞班、諾基亞、Windows Mobile、黑莓手里搶了過來。
真是神來之筆。
Android開源這步棋,絕對是谷歌今天能占據移動操作系統市場七成以上份額的最大功臣。
市場是拿到了,代價是AOSP軟件的維護是要做的。
問題是,隨著手機的功能越來越多,這種維護工作的代價也越來越大。
終于,谷歌忍不了了。
代碼同步難,谷歌決定「關起門」來開發,但依然開源代碼
寫過代碼的都知道相比寫代碼,「合并代碼」反而是最令人頭疼的問題。
2007年,谷歌開放了安卓的核心代碼,這步棋讓谷歌摘取了移動互聯網時代最大的果實。
但是也導致安卓這個項目有了兩個「主分支」。
一個分支就是公共的AOSP分支,這個分支對任何人都開放,大家所說的「安卓是開源」就是指這個分支。
一些附屬功能,比如藍牙功能,仍然在AOSP分支中公開開發,你可以在開源的Android Code Search中搜索到相關源代碼。
然而,AOSP公共分支并不包含谷歌專有的應用和服務,比如Google Play商店、Gmail、Google Maps等。
AOSP雖然沒有谷歌自己的服務,但是仍然可以編譯為一個完整的可用操作系統。
許多設備制造商基于AOSP開發自己的操作系統,包括:
三星:開發了One UI。
小米:開發了MIUI。
OPPO:開發了ColorOS。
華為:開發了早期的EMUI。
一加:開發了OxygenOS。
另一個分支則是完全的閉源開發,可以看做谷歌自己的安卓「親兒子」。
這個分支僅限于擁有谷歌移動服務(GMS)許可協議的公司使用,以上類似三星One UI這種Android系統也可以使用,只要谷歌給予授權。
目前來看,大多數組件,包括核心Android操作系統框架,都是在Google的內部分支中私下開發的。
兩個分支導致一個很大問題,就是內部分支的開發進度領先于公開的AOSP,導致兩個分支差異很大。
這種差異逼得谷歌必須花費時間和精力在公共AOSP分支與其內部分支之間合并補丁上。
這就到了程序員「喜聞樂見」的環節,由于分支差異很大,合并沖突經常出現。
以這個啟用導航欄和鍵盤屏幕放大功能的補丁為例,該補丁引入了新的輔助功能設置,該設置被放置在輔助功能設置列表的末尾。
這會導致合并沖突,因為AOSP與谷歌內部分支之間的列表長度不同(圖中變量accessibility_magnify_nav_and_ime設置為58和59沖突)。
雖然針對此特定問題的修復很簡單,但當其他許多AOSP補丁集成到谷歌的內部分支時,都會觸發類似的合并沖突。
另一個例子是,開發Android的新僅解鎖存儲區域API需要一位Google工程師從內部分支中挑選一個補丁到AOSP以解決合并沖突。
這是因為雖然API是在AOSP中開發的,但包含新Android構建標志的文件是在內部開發的。
因此,必須在內部提交一個更新構建標志文件的補丁,然后應用到AOSP。
也許這些沖突單獨看都不難處理,但是架不住可能會有無數這樣「合并沖突」的例子。
「累覺不愛」,也許這就是谷歌放棄當前雙管齊下的Android開發策略,轉而將所有開發工作內部化的原因。
這對我們意味著什么?
這一決策整體來說,并不意味著Android正在變成「閉源」。
谷歌只是想把「開發過程」藏起來,依然會繼續發布源代碼。
最大的區別在于,AOSP公共分支存在時,對于Android愛好者和科技行業記者來說,這是一個能夠「窺探」Android最新動向的窗口。
現在這個「窗口」要被谷歌關上了,這可能會讓這些科技極客們感到沮喪,因為這減少了他們對Google開發工作的洞察力。
對于開發者,這會讓他們更難跟上新的Android平臺變化,因為他們將無法再跟蹤AOSP中的變化。
比如外國的一個記者在AOSP中發現了某些代碼變更,然后提前數月就預測了Pixel的網絡攝像頭功能,他還利用AOSP中的線索推斷出Android 16的提前發布日期。
而對于大多數的我們,甚至包括安卓應用開發者,可以說毫無影響。
事實上,從邏輯的角度上,谷歌大概率就是覺得維護代碼的成本過高,不論是從AOSP合并到內部版本,還是將內部版本的更新帶給AOSP公共分支,這些工作都需要工程師完成。
可以說這些處理沖突的工作過于「低端」,對于谷歌的工程師來說,耗時耗力而且毫無意義。
但是AOSP某種意義上已經可以看做是谷歌在開源生態和程序員心目中的「投名狀」。
作為以「不作惡」為公司理念的谷歌,安卓開源這步棋被認為是谷歌最成功的一次戰略決策之一。
在極客們看來,這次決策類似于谷歌自己推倒了過去十幾年樹立起來的「精神豐碑」。
當然,從谷歌自己的角度看來,選擇將工作整合在一個內部分支下,同時簡化操作系統開發和源代碼發布,是可以理解的。
畢竟AOSP對Google的商業價值,跟當年比起來,已經完全不是一個量級了。
從最近谷歌對Gemini以及Gemma的瘋狂更新來看,AI才是其工作的重點。
其實所有人都知道,相比于Gemini,安卓對于谷歌已不再那么重要。
參考資料:
https://arstechnica.com/gadgets/2025/03/google-makes-android-development-private-will-continue-open-source-releases/
https://www.androidauthority.com/google-android-development-aosp-3538503/
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.