Google早就有了让ChromeOS运行Android应用的想法,并在去年9月付诸行动,推出了AppRuntimeforChrome,简称ARC,是一个运行在ChromeOS上的Android虚拟机,它本身是一个名为ARCWelder的ChromeWebStore应用程序。此前,该功能只对部分与谷歌密切合作的开发者开放。不过大神们很快就发现了ARC的巨大潜力:它可以运行在所有桌面版本的Chrome上,包括ChromeOS、Windows、MacOSX和Linux。这也意味着谷歌计划在所有计算平台上运行Android应用程序。经过几个月的准备,谷歌终于决定迈出这一步。Google已决定向所有开发人员提供ARC,并且ARC可在Chrome操作系统和Chrome浏览器上运行。对于PC用户,Chrome浏览器版本40.0以上的用户即可使用。原则上任何人都可以向ARCWelder提交一个APK文件,然后生成一个Chrome应用,但是我在使用微信和爱范儿客户在终端上传安装包时,多次尝试都失败了,ARCWelder直接崩溃了。从ArsTechnica文章中,我们也了解到,ARC功能的实现,以及Chrome应用和插件的流畅运行,都得益于Chrome的NaCL沙箱技术——NativeClient,它可以让应用和插件类似于原生应用程序。来调用系统的CPU和GPU资源,同时也把Chrome变成一个开发平台。Google将完整的Android堆栈注入NaCL,这使得在Chrome浏览器中运行Android应用程序成为可能。Chrome浏览器运行Android应用程序,最大的挑战是兼容Android应用程序所依赖的GooglePlay服务API。从官方信息来看,ARC并没有做到兼容所有的API接口,但是主要的已经支持了:Auth(OAuth2)GCMGoogle+sign-inMapsLocationAds对于用户,Google在开发者控制面板中设置了ARCGooglePlay服务选项,允许开发人员决定是否启用它。简单了解一下ARC,不难发现它可以实现AndroidApp的跨平台运行,比Windows10支持的UniversalWindowsApp还要更进一步。借助Chrome浏览器,ARC又将触角伸了出来几乎所有平台。同时,它还利用庞大的Android生态系统激活ChromeWebStore,为Chrome用户带来更多扩展。平台之间的体验也将更加顺畅无缝。不过ARC目前处于公测阶段,还有很多需要改进的地方。例如,ARC是基于Android4.4之前版本使用的Dalvik虚拟机,而不是Android5.0启用的ART。GooglePlay服务的API接口支持暂不可用。不够丰富,无法支持应用内购买等重要功能。
