冰箱/Xposed等系統(tǒng)工具
前面所提到的App之所以會(huì)下崗,主要是由于Android P提供了類似的功能。不過(guò),Android P除了有新功能,系統(tǒng)機(jī)制也有所變更,這導(dǎo)致某些以前能用的App在新系統(tǒng)中無(wú)法運(yùn)行,從而面臨淘汰。
在Android P中,Google極大程度地限制了非官方API的使用。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;另一方面,很多玩家喜聞樂(lè)見(jiàn)的黑科技App,也無(wú)法使用了。
非官方公開(kāi)API可能無(wú)法在安卓9.0中使用了
很多可玩性高的安卓App,都會(huì)用到一些不包含在官方SDK的API。例如Xposed和冰箱等等,通過(guò)一些鉤子,可以實(shí)現(xiàn)普通App所難以做到的功用。
然而在Android P中,Google會(huì)限制使用非SDK方法與字段,開(kāi)發(fā)者將無(wú)法對(duì)其進(jìn)行訪問(wèn)——無(wú)論通過(guò)直接調(diào)用、反射還是JNI等方式。如果加以嘗試,則會(huì)收到NoSuchFieldException或者NoSuchMethodException等錯(cuò)誤提示。因此,好些玩家們喜聞樂(lè)見(jiàn)的App,基本上算是廢了,不得不在新系統(tǒng)中走下崗位。
老舊應(yīng)用/使用老SDK應(yīng)用
對(duì)于這些系統(tǒng)工具被Android P淘汰,有的朋友可能不以為然,畢竟這些工具普遍冷門(mén),只有玩家才會(huì)關(guān)心。但是,被強(qiáng)制下崗的App,其實(shí)并不僅限于這些小眾工具,在Android P中,一票大眾經(jīng)常接觸的App,可能也瀕臨淘汰。
一大堆國(guó)產(chǎn)App現(xiàn)在仍使用老舊SDK,可能面臨淘汰
Android P在新系統(tǒng)中,對(duì)使用老舊Target API的應(yīng)用作了嚴(yán)格限制。Google在SDK增加了一項(xiàng)MIN_SUPPORTED_TARGET_SDK_INT新規(guī),如果App的SDK版本低于v17,那么App將無(wú)法兼容Android P。這意味著安卓4.1包括以前版本的App,將會(huì)在Android P中遭到淘汰。
現(xiàn)在Android P首個(gè)開(kāi)發(fā)者預(yù)覽版已經(jīng)放出,開(kāi)發(fā)者們也對(duì)其進(jìn)行了測(cè)試,測(cè)試結(jié)果如同預(yù)料一般,舊版的App果然沒(méi)法運(yùn)行。在Android P中,盡管舊版App依然能夠安裝,但開(kāi)啟的時(shí)候系統(tǒng)會(huì)警告該App無(wú)法兼容,需要升級(jí)。目前國(guó)內(nèi)不少App都仍使用老舊的SDK,恐怕在Android P的時(shí)代,這些老舊應(yīng)用將會(huì)成為歷史。
總結(jié)
其實(shí)每一代安卓都會(huì)增添更多貼近實(shí)際應(yīng)用的功能,也會(huì)樹(shù)立起一些前所未有的限制,這些舉措不可避免會(huì)擠壓一部分App的生存空間。
然而,每一代安卓系統(tǒng)雖然都會(huì)給老舊App帶來(lái)挑戰(zhàn),但也往往會(huì)帶來(lái)很多新機(jī)會(huì),例如安卓這兩年主打的物聯(lián)網(wǎng)、ARCore等等,都能令人看到諸多可能性。安卓9.0無(wú)疑是個(gè)劇變的版本,希望Google和App開(kāi)發(fā)者們都能在這個(gè)世代的安卓中,給用戶帶來(lái)更好的體驗(yàn)吧。