電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 2442|回復: 0
收起左側(cè)

[硬件設計] 安卓為什么不像windows那樣隨時升級?

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-2-17 17:50:26 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

最新一代安卓系統(tǒng)安卓N已經(jīng)出現(xiàn)了,和以往的全新安卓系統(tǒng)一樣,盡管新的安卓擁有很多激動人心的新特性,但仍很難勾起人們的興趣。無它,就因為新的安卓系統(tǒng),和大部分用戶絕然是沒什么關(guān)系的,不能升級說這個有什么用?盡管安卓來自Google,但Google卻似乎管生不管養(yǎng),手中的機器能不能升級到安卓,還得各家OEM廠商說了算。



安卓N已經(jīng)發(fā)布,但市面上絕大多數(shù)機器不能升級,為什么?

但仔細想想,這情況似乎還是有點奇怪。安卓能夠運行在各種設備中,類似的系統(tǒng)也不是沒有,大家最熟悉的Windows,也是靠硬件不同的機器打天下的。然而,無論是什么電腦廠商制造的Win PC,往往都能輕松升級到最新的Windows甚至隨意更換不同的系統(tǒng),硬件再碎片化,也不存在升級困難的問題。為什么同樣是開放授權(quán)安裝,安卓的升級就如此困難?今天,一起來說說這個事吧。

歷史原因:安卓機沒有類似IBM兼容機的標準

雖說安卓和Win PC的硬件都是花樣百出,但其實這里的門道,還是有些許不同的。在上世紀90年代之前,個人電腦市場也經(jīng)歷過混亂的戰(zhàn)國時代,市場上存在著大量不同標準的PC,什么蘋果電腦啦,TRS-80機啦日本的PC-9801機等等,相互間硬件和系統(tǒng)都不通用。然后,IBM在1982年公布了IBM PC上幾乎所有的技術(shù)資料,兼容機就此誕生了。只要使用了IBM公布的技術(shù)標準,這些PC機的零部件都可以互換。繁榮的電腦DIY市場就此崛起,為了兼容DIY電腦,Windows在這方面也是做了大量工作。Win PC一時無兩,到了90年代,個人電腦市場就只剩下蘋果電腦能夠在Win PC的重壓下喘息了。


Windows能普及,IBM兼容機功不可沒

而安卓機的崛起歷程,和Win PC是不一樣的。安卓陣營中,并沒有出現(xiàn)IBM公開技術(shù)標準這樣的大事件。Win PC或者說是Windows的繁榮,得益于IBM公布兼容機標準后,DIY市場的興起;而安卓機的普及,則歸功于手機整機OEM制造商各自為政的推廣。Google一開始,就沒打算讓安卓如同Windows那樣,可以運行在某種標準架構(gòu)的設備上,各家OEM制造商拿到Google發(fā)布的安卓代碼后,把安卓推出去(當然還得添點Google生態(tài)的東西),就完成任務了。因此,安卓的推廣的過程中,本來就沒有Win那樣用一樣的代碼、兼容不同的硬件的基因。


安卓陣營并沒有類似IBM兼容機的標準,OEM廠商各做各的


簡單來說,Win能夠有著如此好的系統(tǒng)升級支持,是因為現(xiàn)在的Win PC都是IBM兼容機,Win以兼容IBM兼容機為己任;而安卓設備并沒有一個類似IBM兼容機這樣的標準,Google自然也沒法直接把最新的安卓推送到任一部安卓機器了。

技術(shù)原因:Linux和Win內(nèi)核架構(gòu)差異

熟悉電腦裝機的朋友應該都知道,DIY電腦安裝完了Windows,還沒算完,還得通過Windows Update,或者手動安裝各種硬件驅(qū)動。而安卓一個ROM不能兼容某部機器,最大的原因,就是硬件驅(qū)動適配問題,這也造成了Google發(fā)布的最新原生系統(tǒng),不能裝在任意安卓機器上。這里面,是不是也存在Windows和安卓的技術(shù)差異呢?的確如此。

Windows和安卓的內(nèi)核差異其實挺大的

實際上,Windows對驅(qū)動的管理,是要比安卓更加方便的。Windows屬于比較接近微內(nèi)核的混合內(nèi)核結(jié)構(gòu),這樣的結(jié)構(gòu)有一個特點,那就是驅(qū)動是單獨分發(fā)的,并不會和Windows的微內(nèi)核混合在一起。如此一來,各家硬件廠商單獨發(fā)Windows驅(qū)動就很容易了。新的Windows要兼容某個硬件,硬件廠商只要把驅(qū)動發(fā)給微軟,微軟完成認證后,就可以把這驅(qū)動放到Windows Update或者干脆整合到Windows的安裝鏡像中,無需重構(gòu)Windows的內(nèi)核代碼,并不復雜。


Windows對驅(qū)動的適配更加靈活方便

而安卓則基于Linux,Linux是一個宏內(nèi)核的結(jié)構(gòu),Linux的驅(qū)動和內(nèi)核是整合在一起的。要適配某種硬件,得把驅(qū)動都整合進Linux內(nèi)核。雖然Google為了避免GPL污染,已經(jīng)在Linux之上建立了一個硬件抽象層HAL,但根本問題仍未解決,安卓的硬件驅(qū)動仍不能如同Windows那樣獨立安裝。例如某某芯片廠商更新安卓驅(qū)動,用戶并不能直接安裝,需要等安卓廠商把這驅(qū)動整合進新ROM中,再提供給用戶刷入。


安卓適配某種硬件,需要廠商進行驅(qū)動整合

從這方面來說,如果Google想要為所有安卓機都提供系統(tǒng)升級,就超級麻煩了——Google得為每一種硬件不同的安卓機,都準備一個內(nèi)核不同的ROM。考慮到市面上的安卓機硬件組合種類的數(shù)量……就算是Google,也是干不來的。因此,Google實際上并沒有技術(shù)條件為市面上所有安卓機都提供系統(tǒng)升級,Google能顧得著自家的Nexus設備,就不錯了。

利益原因:安卓并不只是Google的安卓

雖然安卓來自Google,安卓并不僅僅屬于Google。Google把安卓的源代碼發(fā)布到開源項目AOSP后,各家廠商只要遵循Apache協(xié)議,就可以利用這些代碼構(gòu)筑自己的ROM了。如果想要使用Google提供的服務,還需要和Google簽訂協(xié)議,預裝制定的Google應用。更多的情況是,各家廠商會在安卓中整合自家的服務,把安卓修改成自己想要的模樣。

安卓OEM廠商接觸的是安卓開源項目,而Win PC廠商接觸的是Windows成品

放眼望去,其實除了Nexus和Android One這種Google自己管賣的機器外,市面上使用安卓原生系統(tǒng)的安卓機根本就沒有。開源讓OEM廠商看到了鋪開自家生態(tài)的機會,安卓被紊亂而繁多的OEM廠商的生態(tài)戰(zhàn)略沖擊分化成數(shù)十百種,Google不可能跟隨這些廠商的安卓分支,為用戶提供后續(xù)的系統(tǒng)升級服務——除了必要的部分,這些廠商可不會像Google那樣,把修改后的安卓源碼也公布出來的。



你跟Google說這是安卓,Google說不定還不信

安卓源碼被發(fā)布后,就不僅僅只是Google的安卓了。要問為什么各家廠商不愿用原生安卓?原生安卓只能幫Google賺錢,不能幫自己賺錢,這就是利益問題了。這種情況,在Windows上就沒有出現(xiàn)。由于Windows是閉源的系統(tǒng),因此第三方難以對其進行大幅修改,最多也就預裝幾個軟件,修改成番茄花園那樣子已經(jīng)算是變動比較大的了。微軟一直牢牢把握Windows系統(tǒng)的話語權(quán),OEM賣電腦賺的是硬件錢而不是安卓那樣的生態(tài)錢。微軟對Windows升級的支持度,自然也不是Google可以與之相比的。


保持原汁原味的Nexus,是可以獲得安卓最新的系統(tǒng)升級的

總結(jié)

雖然安卓和Windows用起來的確擁有一定相似之處,但無論從歷史、技術(shù)和商業(yè)利益的角度來看,雙方都存在著明顯的差異。這些差異,導致了安卓無法如同Windows那樣輕松升級。如果你真想享用到最新版的安卓系統(tǒng),可以考慮一下Nexus設備,只是Nexus設備在國內(nèi)的網(wǎng)絡環(huán)境下難以施展,希望Google日后能夠重新返回中國市場吧。本周五(2月21日)晚20:00高子龍老師【Android混合開發(fā)-ReactNative】在凡億課堂等你來,趕緊識別海報中的二維碼報名吧!前200名報名贈送講師課件PPT與案例,參與此次直播還有機會免費獲得精品小課!



以上內(nèi)容來源于網(wǎng)絡,版權(quán)歸屬原作者所有,如侵刪.


回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表