回覆列表
  • 1 # 三易生活

    下週三,谷歌2019 I/O開發者大會就將在其總部美國山景城的海岸線圓形劇場(The Shoreline Amphitheatre)舉行。如無意外的話,此次活動中也將迎來全新的Android Q大版本更新,以及Pixel 3a系列中端機型的亮相。

    不過在距離此次開發者大會的前一週,谷歌卻宣佈了一個可能讓使用者略感到失望的訊息。考慮到大量開發者認為適配新機制的難度較大,因此一個在Android Q上極大程度改善使用體驗的新特性“Scoped storag”,將會被推遲一年上線。

    檔案儲存沙箱化與Android Q無緣

    根據目前的相關資訊顯示,在即將釋出的Android Q上,谷歌將會帶來使用者期盼已經的黑暗模式、桌面模式、更強力的隱私管理、系統級的螢幕錄製、運營商SIM卡鎖定、多工處理功能Bubbles,以及新字型新圖示形狀等等眾多的改變。

    那麼,這個所謂的“Scoped storag”是什麼呢?事實上,這是谷歌原計劃在Android Q上引入的全新檔案儲存機制,即檔案儲存沙箱化,能夠對應用檔案儲存、訪問、分享等行為,帶來天翻地覆的變化。

    簡單來說,就是在啟用這項新特性之後,透過第三方APP建立的資料夾,都只能被放置在一個個互不干擾的獨立儲存空間中,而無法像目前一樣寫入真正的儲存目錄,以實現真正的沙箱化。

    儲存沙箱化將讓你的手機更私密、更安全

    如果看到這裡還是一頭霧水的話,那麼不妨對比一下目前現行的Android系統儲存機制,就會很容易發現變化之處。Android Q之前,由於其系統底層是Linux,而Linux的機制是一個使用者對應一個uid,再加上Android是單使用者系統,而這裡的“使用者”就變成了一個個的APP。

    在APP安裝時,系統就會分配給其獨立的儲存區域以及uid,APP在虛擬機器(ART)中執行,有獨立的空間和資源,在這一過程中,ART和Linux對檔案訪問的控制實現了沙箱機制。當然,開發者可以給同樣簽名的應用(比如同一家公司的產品)配置相同的uid,以來實現資源共享。

    但是Android在允許APP訪問屬於自己儲存區域(/data/data/packagename/ ),以及無法訪問不屬於自己的私有資料的限制之外,手機上的外部儲存(/sdcard)空間卻是共享的,也就是所有的APP都能隨意使用。需要指出的一點是,“sdcard”並非單純指常說的SD卡,而是指ROM在只讀型記憶體,以及不可見的內部儲存之外的區域。

    絕大多數Android手機使用者應該都會遇到這種情況——以USB除錯模式將手機連線到電腦上之後,在根目錄上可以看到茫茫多亂七八糟的資料夾,刪也不是,不刪著實讓人頭大。而在使用了“Scoped storag”之後,所有的快取檔案都被強制限制在了 “/sdcard/Android/sandbox”之中,在sdcard介面的資料夾數量減少到原來的不到百分之五,此時自然也就會變得更加簡潔。

    APP只能在外部儲存中訪問自己的資料資料夾(位於/data/media/{user}/android),要訪問音樂或影象照片等共享媒體檔案,則必須請求使用者給予特定這些用例的動態儲存許可權,獲得MediaProvider查詢系統的檔案,並使用對應的Content URI來訪問。

    開發者不買賬,谷歌也沒辦法

    看到這裡,作為使用者是不是覺得“Scoped storag”很好很給力,對於隱私保護和安全性都有明顯的提升。但是抱歉,谷歌討好消費者的努力,並沒有得到開發者的歡迎,甚至不光口頭抱怨,在行動上也陽奉陰違。畢竟這項功能將實實在在傷害開發者的利益,因此在目前的Android Q Beta 2上,完全適配這一功能的APP少之又少,而許多其他APP在測試版中呈現出的,就是瘋狂閃退的現象。

    開發者認為谷歌沒有給他們足夠的時間,來為StorageAccessFramework(儲存訪問框架)進行所有必要的更改,而不進行更改的後果,就是執行頻繁報錯。而且由於沙箱化儲存影響了執行在Android Q上的所有應用程式,因此無論該APP是否真正針對Android Q進行開發,都必須進行更新。

    事實上,不同於之前Android O/P上提供API LEIVE很快被開發者接受,檔案儲存沙箱化被其陽奉陰違也有著不少的原因。首先這一改變將提升開發者的工作量,同時讓第三方APP的一些小九九再也不能實現。在新的儲存機制之下,一款APP解除安裝之後就與iOS版一樣是無殘留的,之前的資料會一併清空,而這與目前許多APP,特別是國內應用“解除安裝後重裝依然能夠讀取老資料”的設計思路完全衝突,畢竟將會導致使用者流失率的提升,更不利於用資料吹牛。

    再加上,如果Android也與iOS一樣完成整個系統的沙箱化,無法隨意訪問外部儲存,系統底層直接封殺越界讀寫,那麼也就意味著某些心存不良的APP,此前隨便看照片及通訊錄等敏感資料的行為將成為歷史。而開發者在此前長時間已經習慣了這樣操作的情況下,突然這樣改變自然就會導致戒斷反應。

    舉個例子,之前某東金融就被傳出在後臺執行時,會自動儲存使用者的螢幕截圖,抓取使用者使用拍照功能拍攝的照片,就是因為儲存照片的資料夾屬於外部儲存,基本是個APP都能訪問。有的APP自律性比較高,不是自己的東西不看,但是有的下限就很低了,而“Scoped storag”就是為了杜絕這類現象,但是這不就擋著人家財路了嗎?

    越界讀寫消失的同時,也會在無形中讓第三方檔案管理類APP成為歷史名詞,畢竟都看不了其他APP都存放了些什麼,自然也就無法進行自己的本職工作。

    從這裡就能看出,谷歌對於Android越來越不上心的原因,確實有在為使用者考量。但是一方面是Android本身的各種先天性不足,另一方面谷歌在Android中的地位是盟主和大股東,因此儘管說話確實一言九鼎,可架不住自家小弟們各懷鬼胎,而這一回就很有一種“陛下何故謀反”的感覺。

    畢竟,谷歌不像作為App Store和iOS唯一股東的蘋果,能夠對旗下的軟體生態擁有說一不二的權力。有10086種理由直接封殺與自己競爭的第三方APP,開發者只能去找歐盟訴苦的情況下,谷歌就只能放任這些第三方APP與自己搶生意。

    在谷歌另起爐灶的Fuchsia OS第一個“釋出候選版本(release candidate)”,以及華為方舟編譯器先後亮相之際,Android這艘大船還是不是能一直前進下去,恐怕現在誰都說不好了。

  • 中秋節和大豐收的關聯?
  • 漢城奧運主題曲是誰唱的?