2014 年 9 月,谷歌推出App Runtime for Chrome(ARC), 旨在使Android 应用可以运行在Chrome OS 上。ARC 的早期测试版本只移植了少数应用。但据 Ars Technica 报道,现在,谷歌正在推行两项重大举措:一是允许开发者通过新的Chrome 应用打包器在ARC 上运行他们的应用;二是允许ARC 在任何安装了Chrome 浏览器的桌面操作系统上运行。
ARC 是通过 Native Client(简称 NaCL)运行在 Windows、Mac、Linux 和 Chrome OS 上。NaCL 是一种 Chrome 沙盒技术,它能充分利用系统的 CPU 和 GPU,使 Chrome 应用及插件的运行速度接近本地应用。谷歌已将 Android 技术栈完整地移植到了 NaCL,Android 应用因此可以在大多数主流操作系统上运行。
谷歌还发布了 Chrome 应用 ARC Welder。它能够将任意 Android 应用转换成基于 ARC 的 Chrome 应用,主要供开发人员打包 APK 并提交到 Chrome Web Store 时使用。
另外,新版本的 ARC增加了对部分Google Play Services 的支持,包括 OAuth2 、 Google 云消息、 Google+ 登录、地图、位置、广告。不过,开发人员必须使用ARC 特有的元数据在ARC 上启用这些服务。还有许多服务没有包含在ARC 中,使用那些服务的应用将无法运行在ARC 上。
需要注意的是,ARC 目前基于Android 4.4,并运行Dalvik VM,而不是在Android 5.0 中初次出现速度更快的 Android Run Time(ART)。
对谷歌而言,ARC 和 NaCL 两个项目均非常重要,它们可能是谷歌推行“通用二进制(universal binary)”的法宝。“为 Android 编写应用,我们将使它运行在几乎所有流行的操作系统上(iOS 除外)。”总有一天,这将成为谷歌说服开发人员为 Android 开发应用的响亮口号。
这个项目目前还处于测试阶段,根据测试者们的反馈,现有的多数应用无法运行在 ARC 上。如果你想尝试的话,这里有一个下载安装ARC 简单的指南,根据它的描述,Instagram 的大多数功能可以在ARC 上正常运行。
下一步,谷歌无疑会在ARC 中引入其它Play Services API。也许有一天,Chrome Web Store 会与Google Play Store 合并。
感谢徐川对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流。
评论