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