Android Runtime for Chrome | |
Latest Release Version: | None yet |
Developer: | Google, others |
Programming Language: | JavaScript, Java, C, C++ |
Operating System: | Cross-platform ChromeOS (official beta release), Microsoft Windows, Linux, macOS (community supported) |
Genre: | Sandbox and compatibility layer in web browsers for Android applications |
License: | Proprietary, New BSD license |
Android Runtime for Chrome (ARC) is a compatibility layer and sandboxing technology for running Android applications on desktop and laptop computers in an isolated environment. It allows applications to be safely run from a web browser, independent of user operating system, at near-native speeds.
The Android Runtime for Chrome is a partially open-sourced project under development by Google.[1] It was announced by Sundar Pichai at the Google I/O 2014 developer conference. In a limited beta consumer release in September 2014,[2] Duolingo, Evernote, Sight Words, and Vine Android applications were made available in the Chrome Web Store for installation on Chromebook devices running OS version 37 or higher.[3]
, the development by Google is taking place behind closed doors with individual repository commits, code reviews and most issue tracking being kept internal to the company. The open sourced parts of ARC are licensed under a BSD-style license.
In a limited beta consumer release in September 2014,[4] Duolingo, Evernote, Sight Words, and Vine Android applications were made available in the Chrome Web Store for installation on Chromebook devices running OS version 37 or higher.[5]
In October 2014, three more apps were added: CloudMagic, Onefootball, and Podcast Addict.[6]
In March 2015, Anandtech reported that VLC media player should be added in the coming months.[7]
On April 1, 2015, Google released ARC Welder, a Chrome Packaged App providing the ARC runtime and application packager.[8] It is intended to give Android developers a preview of the upcoming technology and a chance to test their Android apps on the Chrome platform.
ARC builds upon the Google Native Client.[9] The Native Client platform is being extended with a POSIX-compatible layer on top of the NaCl Integrated Runtime and Pepper APIs[10] which emulate the Linux environment in the foundation of an Android phone. This then allows running an almost unchanged Dalvik VM in a sandboxed environment.
ARC uses the Chrome permission system, not the Android one.
According to a security evaluation by Meng Xu, ARC apps may communicate with other installed Chrome Extensions and the files stored on the underlying operating system which might open avenues to various attacks.[11] These threats are mitigated by the heavily sandboxed environment of ARC.[12]
During the second half of 2014, before any developer tools or documentation was released by Google, several community efforts about ARC appeared.
Vlad Filippov maintains ARChon, an unofficial distribution of the ARC runtime which can be installed to non-Chromebook computers.[13] The same developer also maintains a JavaScript (nodejs) tool to automate packaging Android apps for use with ARC.
Other developers created more user-friendly tools beyond chromeos-apk to simplify packaging applications for the ARCon runtime. The first of them is a Chrome Packaged App called twerk[14] and the other is an Android application ARCon Packager[15] It used to be named Chrome APK Packager but the name was changed at Google's request.
There is an active Reddit community[16] which maintains a list[17] of Android apps that work with the ARCon runtime. Vlad Filippov published a guide how to run Opera Mini inside Chromium browser.[18]
The reception has been mostly positive. Some developers expressed confusion about the wide scale of competing development platforms which Google now offers: Web apps, Chrome Packaged Apps and Android Apps delivered through ARC. Google responded that they are fully committed to all those platforms and encourage developers to choose the one that fits them best.[19]