Android 應用很快就能跑在 Chrome 上了
Google 讓 Chrome OS 運行 Android app 的想法早已有之,并在去年的 9 月份付諸行動,推出了 App Runtime for Chrome,簡稱 ARC,是一個運行在 Chrome OS 上的 Android 虛擬機,它本身是一個 Chrome Web 商店的應用程序,名為 ARC Welder。
在此前,這個功能只開放給了部分與 Google 合作密切的開發者,不過,大神們很快挖掘出了 ARC 的巨大潛力:可以運行在所有桌面版的 Chrome 上,包括 Chrome OS,Windows,Mac OS X 以及 Linux。這也就意味著,Google 在規劃著將 Android app 運行在所有的計算平臺之上。經過數月的前期準備之后,Google 終于決定邁出這一步了。
Google 日前已經決定將 ARC 開放給所有開發者使用,并且 ARC 在 Chrome OS 和 Chrome 瀏覽器中均可以運行。對于 PC 用戶來說,Chrome 瀏覽器版本在 40.0 以上的用戶都可以使用,原則上任何人都可以提交一個 APK 文件到 ARC Welder 上,然后生成一個 Chrome app,但是我在將微信和愛范兒客戶端安裝包上傳時,嘗試多次都失敗了,ARC Welder 直接閃退。
從 Ars Technica 的文章中我們也了解到,ARC 功能的實現,以及 Chrome app 和插件的流暢運行要歸功于 Chrome 的 NaCL 沙箱技術——Native Client,可以讓 app 和插件以近似于本地應用的方式去調用系統的 CPU 和 GPU 資源,同時也把 Chrome 變成了一個開發平臺。Google 為 NaCL 灌入了完整的 Android 堆棧,這讓 Chrome 瀏覽器運行 Android app 成為可能。
Chrome 瀏覽器運行 Android app,***的挑戰在于兼容 Android 應用所依賴的 Google Play 服務 API。從官方公布的信息中來看,ARC并未實現對全部 API 接口的兼容,不過主要的幾項已經得到了支持:
Auth (OAuth2)
GCM
Google+ sign-in
Maps
Location
Ads
此外,為了防止像我這樣玩心很重的用戶,Google 在開發者控制面板中設置了 ARC Google Play 服務選項,讓開發者去決定是否開啟。
簡單了解 ARC 之后不難發現,它可以實現 Android app 的跨平臺運行,這一點甚至要比 Windows 10 所支持的 Universal Windows App 走得更遠。借著 Chrome 瀏覽器,ARC 已經將觸角伸到了幾乎所有的平臺之上,與此同時,它也利用了龐大的 Android 生態激活 Chrome Web Store,為 Chrome 用戶帶來更多的擴展程序,用戶在多平臺間的體驗也會更加順暢和無縫化。
不過,ARC 目前處在開放測試階段,還有不少需要改進的地方,比如 ARC 是基于 Android 4.4 之前版本使用的 Dalvik 虛擬機,而不是 Android 5.0 所啟用的 ART,Google Play 服務的 API 接口支持還不夠豐富,不支持應用內購等重要功能。