本文來(lái)自太平洋電腦網(wǎng)
在人們的印象中,安卓系統(tǒng)一直是開放、自由的代表。和競(jìng)爭(zhēng)對(duì)手iOS相比,安卓系統(tǒng)不僅僅開源了很大一部分源碼,而且系統(tǒng)的使用限制要少得多。你可以在安卓中自由安裝App、自由升降級(jí)系統(tǒng)版本、自由調(diào)用各種API實(shí)現(xiàn)大量的神奇功能……這些體驗(yàn),造就了安卓獨(dú)有的魅力。
然而,很多人并不知道的是,情況正在漸漸發(fā)生改變;蛟S是安卓的自由之風(fēng)已經(jīng)強(qiáng)勁到令它脫離Google的把控,在這兩年,Google開始為安卓加上了越來(lái)越多枷鎖,以至于有人吐槽說(shuō)這系統(tǒng)越來(lái)越像iOS。
那么安卓最近的版本都增加了什么限制呢?它真的會(huì)變成如同iOS那樣的封閉系統(tǒng)嗎?我們一起來(lái)看看吧。
限制系統(tǒng)降級(jí)
說(shuō)起對(duì)iOS的不滿,相信很多用戶都會(huì)把票投給“系統(tǒng)無(wú)法自由降級(jí)”這點(diǎn)。眾所周知蘋果會(huì)在推送新版iOS后關(guān)閉舊版系統(tǒng)的驗(yàn)證,就算新系統(tǒng)存在鎖頻、卡頓、耗電等槽點(diǎn),用戶也不得不咬牙忍受。相比iOS,安卓升級(jí)困難,但降級(jí)輕松得多,很多機(jī)器都可以通過(guò)Recovery或者Bootloader輕松降級(jí)。
不過(guò),情況正在發(fā)生變化,安卓在系統(tǒng)升降級(jí)方面的畫風(fēng),也變得越來(lái)越像iOS了。
在安卓8.0中,Google為系統(tǒng)增加了一個(gè)名為Rollback Protection(回滾保護(hù))的安全功能,該功能會(huì)阻止設(shè)備回滾到舊版本的固件。
Google認(rèn)為,這可以提高安全性,和新系統(tǒng)相比舊系統(tǒng)存在更多的漏洞,有可能導(dǎo)致用戶的數(shù)據(jù)泄漏,因此有必要限制用戶降級(jí)到舊系統(tǒng)。
安卓對(duì)系統(tǒng)驗(yàn)證越來(lái)越嚴(yán)格,安卓8.0還會(huì)限制系統(tǒng)回滾
Google這個(gè)說(shuō)法和蘋果的理念是頗為類似的。但實(shí)際上,用戶并不會(huì)太過(guò)關(guān)心看似和自己毫無(wú)關(guān)系的安全問(wèn)題,系統(tǒng)是否順手更加重要。安卓8.0新增的“回滾保護(hù)”限制系統(tǒng)降級(jí),遭到了口誅筆伐,但所幸的是Google并沒(méi)有做得像蘋果那么絕。
安卓8.0引入的“回滾保護(hù)”并非是一項(xiàng)定死的功能,它和安卓的Bootloader一樣,都可以選擇是否激活。換言之,如果制造商愿意,也可以關(guān)閉該項(xiàng)功能,不過(guò)就如同解鎖了Bootloader一樣,關(guān)閉了“回滾保護(hù)”也會(huì)在系統(tǒng)啟動(dòng)時(shí)出現(xiàn)一堆警告。
從這個(gè)角度來(lái)說(shuō),其實(shí)利用“回滾保護(hù)”限制系統(tǒng)降級(jí)并不會(huì)帶來(lái)什么實(shí)質(zhì)性的改變——在之前廠商也可以通過(guò)Bootloader來(lái)限制刷入舊系統(tǒng),現(xiàn)在只是多一種手段,該開放該封閉還是會(huì)照舊。
限制App后臺(tái)運(yùn)行
和iOS相比,安卓“真后臺(tái)”是另一個(gè)獨(dú)到的優(yōu)勢(shì)。我們知道安卓App能夠在后臺(tái)持續(xù)運(yùn)行,這可以實(shí)現(xiàn)多任務(wù),例如一邊上網(wǎng)一邊在后臺(tái)用迅雷下載還一邊解壓縮等等。不過(guò),在新版的安卓系統(tǒng)中,App后臺(tái)運(yùn)行遭遇了史無(wú)前例的限制力度。
在之前的安卓系統(tǒng)中,App可以在后臺(tái)駐留服務(wù),利用廣播來(lái)激活一些任務(wù)(例如自啟動(dòng))。然而在安卓8.0中,Google同時(shí)對(duì)后臺(tái)服務(wù)和廣播進(jìn)行了限制。
如果你在安卓8.0中利用API level 26以上的Target SDK來(lái)開發(fā)App,那么系統(tǒng)默認(rèn)就會(huì)對(duì)后臺(tái)服務(wù)以及廣播都進(jìn)行嚴(yán)格限制,后臺(tái)在幾分鐘內(nèi)就會(huì)被停止;而如果App沒(méi)有使用這么高的API,也可以手動(dòng)在系統(tǒng)中設(shè)置后臺(tái)限制。
安卓官網(wǎng)對(duì)后臺(tái)限制的描述,安卓不再是那么的“真后臺(tái)”了
安卓8.0的對(duì)后臺(tái)的限制無(wú)疑是比之前的系統(tǒng)嚴(yán)格得多的,例如在之前很多App都會(huì)通過(guò)Wakelock來(lái)喚醒系統(tǒng),就算在引入了Doze休眠機(jī)制的安卓6.0/7.0,也只在熄滅屏幕一段時(shí)間后才切斷App的Wakelock。在安卓8.0中,只要后臺(tái)被停止,Wakelock就會(huì)立即被切掉,App無(wú)法喚醒手機(jī)白耗電量。
毫無(wú)疑問(wèn),安卓8.0的后臺(tái)機(jī)制已經(jīng)有那么一點(diǎn)iOS的意思。當(dāng)然,和iOS相比,App仍有一些辦法在安卓8.0中突破后臺(tái)限制,但安卓后臺(tái)限制越來(lái)越嚴(yán)格的大趨勢(shì)是顯而易見(jiàn)的。
2安卓限制App自由安裝/后臺(tái)功能?限制App自由安裝
安卓自由度的一大體現(xiàn),在于用戶可以自由安裝各種App,不需要到特定的應(yīng)用商店去下載應(yīng)用。這給了用戶更多選擇,但也給了惡意代碼入侵的機(jī)會(huì)。在近年的安卓中,Google也開始思考這策略是否真的有必要了。
在之前的安卓系統(tǒng)中,可以在系統(tǒng)設(shè)置中開啟允許未知來(lái)源的第三方App安裝,用戶可以自由安裝APK文件。這在盡管操作很方便,但若被引誘安裝了惡意軟件,安裝‘未知來(lái)源’的應(yīng)用有可能帶來(lái)潛在的傷害。
在安卓8.0后,Google 移除掉了容易被濫用的“允許未知來(lái)源”應(yīng)用的開關(guān)。如果你還是想要安裝某個(gè)被自己所信任的開發(fā)者的 App,則需要為每個(gè)App的來(lái)源都手動(dòng)授予“安裝未知應(yīng)用”的許可。
例如,你用瀏覽器下載APK,那么就必須賦予瀏覽器可以安裝未知應(yīng)用的許可;如果用的是第三方商店,那么也必須賦予這個(gè)商店相關(guān)許可。
安卓8.0對(duì)第三方App的安裝限制更加嚴(yán)格,不再是在系統(tǒng)中勾選了某個(gè)開關(guān)就一勞永逸了
雖然Google并沒(méi)有完全限制用戶安裝App,但是正在加入更多的限制。在未來(lái),安卓說(shuō)不定得輸入密碼/驗(yàn)證指紋才能安裝其他來(lái)源的App,希望Google永遠(yuǎn)不會(huì)封死這套路,讓安卓失去獨(dú)到的魅力吧。
限制應(yīng)用使用API
說(shuō)了安卓8.0的諸多限制,再來(lái)說(shuō)說(shuō)安卓9.0的吧。和安卓8.0比起來(lái),安卓9.0的限制程度又更上一層樓,例如,安卓9.0可能會(huì)采用更加嚴(yán)格的API訪問(wèn)權(quán)限,限制應(yīng)用程序訪問(wèn)Android SDK中未記錄的API。
安卓9.0尚未正式發(fā)布,但是已經(jīng)有開發(fā)者從報(bào)告中得到了一些信息。其中顯示,Google會(huì)鎖定App所能訪問(wèn)的API,系統(tǒng)的某些API不再提供給App接入,而且App難以再使用沒(méi)有經(jīng)過(guò)認(rèn)證的API。這會(huì)造成怎樣的結(jié)果呢?直接就會(huì)導(dǎo)致諸多App的推送、分享功能失效。
某些App之所以能夠?qū)崿F(xiàn)推送功能,是因?yàn)槭褂昧艘恍┑谌降耐扑推脚_(tái),需要接入相關(guān)的API,在安卓9.0中,這條路很有可能就走不通了。
非官方公開API可能無(wú)法在安卓9.0中使用了
限制App調(diào)用亂七八糟的API是有利有弊的。弊前面已經(jīng)說(shuō)過(guò),這會(huì)一定程度上限制推送分享等功能的實(shí)現(xiàn),那限制API有什么利呢?
現(xiàn)在不少App為了實(shí)現(xiàn)推送功能,接入的都是第三方推送平臺(tái)的API,這些推送平臺(tái)除了提供推送服務(wù),還承包了App之間相互喚醒、常駐后臺(tái)這類令人深惡痛絕的毛病——畢竟想要一直接收推送,App的后臺(tái)就不能隨便被滅掉。因此,在安卓9.0中,App常駐后臺(tái)的一些手段會(huì)失效,這應(yīng)該算是好事兒了。
限制App后臺(tái)功能
安卓9.0中除了限制API,還開始限制App在后臺(tái)的某些行為。在以往,安卓App就算在后臺(tái),也可以悄悄干很多事情,例如錄音錄像等等,很多偷拍App就利用這般特性來(lái)實(shí)現(xiàn)相關(guān)功能。不過(guò)在安卓9.0中,App就不再是想要干嘛就能干嘛了,在后臺(tái)很多功能再也無(wú)法實(shí)現(xiàn)。
App在后臺(tái)不能再做調(diào)用攝像頭之類的事情了
例如,在安卓9.0中,App就再也無(wú)法在后臺(tái)調(diào)用相機(jī)權(quán)限,偷拍偷錄從此不再可能。其實(shí)在安卓8.0中,App在后臺(tái)調(diào)用攝像頭,系統(tǒng)就已經(jīng)會(huì)在通知欄顯示警告信息,在安卓9.0中Google終于把事情做絕,徹底攔住了App在后臺(tái)偷拍的動(dòng)作。
而除了禁止后臺(tái)調(diào)用攝像頭,安卓9.0還會(huì)干擾后臺(tái)通話錄音,會(huì)自動(dòng)把頻率為1400Hz、每15秒鐘重復(fù)一次的提示音添加到通話中,讓對(duì)方意識(shí)到目前這趟電話有在錄音。另外,App在后臺(tái)的地理定位功能也收到了限制,App不能再一直請(qǐng)求定位,而是只能間隔一段時(shí)間發(fā)送一次定位請(qǐng)求。
安卓9.0對(duì)后臺(tái)的功能限制、干擾,其實(shí)是有利于保護(hù)隱私的,不過(guò)這也讓系統(tǒng)功能缺了些自由度,一些實(shí)用的App無(wú)法再生效——例如某些防盜App檢測(cè)到手機(jī)被偷,會(huì)自動(dòng)拍下照片傳給失主,這在新系統(tǒng)做不到了。
安卓的這個(gè)做法無(wú)疑也是在像iOS靠攏,當(dāng)然目前它還不至于像iOS那樣,限定App在后臺(tái)只能做播放音樂(lè)、下載等有限的事情。
總結(jié)
盡管在移動(dòng)市場(chǎng)中,安卓依然是自由的代表,但其實(shí)安卓一直都在不斷增加各種限制,例如把越來(lái)越多的代碼從開源的AOSP剝離到閉源的GMS,加入App權(quán)限管理系統(tǒng),限制App向存儲(chǔ)目錄寫入數(shù)據(jù)等等。
每一代新發(fā)布的安卓,基本都是限制最嚴(yán)格的安卓。沿著這個(gè)趨勢(shì),安卓最終是否會(huì)和iOS殊途同歸?安卓9.0又會(huì)帶來(lái)怎樣的體驗(yàn)?讓我們期待5月份的Google I/O開發(fā)者大會(huì)吧。