Google App Runtime for Chrome

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Android Runtime for Chrome
DevelopersGoogle, others
Stable release
None yet
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inJavaScript, Java, C, C++
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform: ChromeOS (official beta release), Microsoft Windows, Linux, macOS (community supported)
    TypeSandbox and compatibility layer in web browsers for Android applications
    LicenseProprietary, New BSD license
    Websitedeveloper.chrome.com/apps/getstarted_arc

    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.

    Overview

    [edit | edit source]

    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.[2] In a limited beta consumer release in September 2014,[3] 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.[4]

    As of January 2015, 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.

    Development

    [edit | edit source]

    In a limited beta consumer release in September 2014,[5] 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.[6]

    In October 2014, three more apps were added: CloudMagic, Onefootball, and Podcast Addict.[7]

    In March 2015, Anandtech reported that VLC media player should be added in the coming months.[8]

    On April 1, 2015, Google released ARC Welder, a Chrome Packaged App providing the ARC runtime and application packager.[9] 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.

    Architecture

    [edit | edit source]

    ARC builds upon the Google Native Client.[10] The Native Client platform is being extended with a POSIX-compatible layer on top of the NaCl Integrated Runtime and Pepper APIs[11] 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.

    Security

    [edit | edit source]

    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.[12] These threats are mitigated by the heavily sandboxed environment of ARC.[13]

    Community efforts

    [edit | edit source]

    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.[14] The same developer also maintains a JavaScript (nodejs) tool to automate packaging Android apps for use with ARC.[15]

    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[16] and the other is an Android application ARCon Packager[17] It used to be named Chrome APK Packager but the name was changed at Google's request.

    Software

    [edit | edit source]

    There is an active Reddit community[18] which maintains a list[19] of Android apps that work with the ARCon runtime. Vlad Filippov published a guide how to run Opera Mini inside Chromium browser.[20]

    Reception

    [edit | edit source]

    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.[21]

    See also

    [edit | edit source]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Security Evaluation of App Runtime for Chrome. tc.gtisc.gatech.edu. October 20, 2014. Retrieved July 4, 2024
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Security Evaluation of App Runtime for Chrome. tc.gtisc.gatech.edu. December 1, 2014. Retrieved July 4, 2024
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]