Google App Runtime for Chrome

Last updated
Android Runtime for Chrome
Developer(s) Google, others
Stable release
None yet
Written in JavaScript, Java, C, C++
Operating system Cross-platform: ChromeOS (official beta release), Microsoft Windows, Linux, macOS (community supported)
Type Sandbox and compatibility layer in web browsers for Android applications
License Proprietary, New BSD license
Website developer.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.

Contents

Overview

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

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

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

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

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

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

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

Related Research Articles

In computer security, a sandbox is a security mechanism for separating running programs, usually in an effort to mitigate system failures and/or software vulnerabilities from spreading. The isolation metaphor is taken from the idea of children who do not play well together, so each is given his or her own sandbox to play in alone. It is often used to execute untested or untrusted programs or code, possibly from unverified or untrusted third parties, suppliers, users or websites, without risking harm to the host machine or operating system. A sandbox typically provides a tightly controlled set of resources for guest programs to run in, such as storage and memory scratch space. Network access, the ability to inspect the host system, or read from input devices are usually disallowed or heavily restricted.

seccomp is a computer security facility in the Linux kernel. seccomp allows a process to make a one-way transition into a "secure" state where it cannot make any system calls except exit , sigreturn , read and write to already-open file descriptors. Should it attempt any other system calls, the kernel will either just log the event or terminate the process with SIGKILL or SIGSYS. In this sense, it does not virtualize the system's resources but isolates the process from them entirely.

Google I/O, or simply I/O, is an annual developer conference held by Google in Mountain View, California. The name "I/O" is taken from the number googol, with the "I" representing the "1" in googol and the "O" representing the first "0" in the number. The format of the event is similar to Google Developer Day.

Turbo is a set of software products and services developed by the Code Systems Corporation for application virtualization, portable application creation, and digital distribution. Code Systems Corporation is an American corporation headquartered in Seattle, Washington, and is best known for its Turbo products that include Browser Sandbox, Turbo Studio, TurboServer, and Turbo.

<span class="mw-page-title-main">Google Chrome</span> Web browser developed by Google

Google Chrome is a web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS, iOS, and also for Android, where it is the default browser. The browser is also the main component of ChromeOS, where it serves as the platform for web applications.

The Android Package with the file extension apk is the file format used by the Android operating system, and a number of other Android-based operating systems for distribution and installation of mobile apps, mobile games and middleware. A file using this format can be built from source code written in either Java or Kotlin.

Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. It allows safely running native code from a web browser, independent of the user operating system, allowing web apps to run at near-native speeds, which aligns with Google's plans for ChromeOS. It may also be used for securing browser plugins, and parts of other applications or full applications such as ZeroVM.

<span class="mw-page-title-main">ChromeOS</span> Linux-based operating system developed by Google

ChromeOS, sometimes styled as chromeOS and formerly styled as Chrome OS, is a Linux-based operating system developed and designed by Google. It is derived from the open-source ChromiumOS and uses the Google Chrome web browser as its principal user interface.

<span class="mw-page-title-main">ChromiumOS</span> Free open-source operating system designed by Google

ChromiumOS is a free and open-source operating system designed for running web applications and browsing the World Wide Web. It is the open-source version of ChromeOS, a Linux-based operating system made by Google.

<span class="mw-page-title-main">Outline of Google</span> Overview of and topical guide to Google

The following outline is provided as an overview of and topical guide to Google:

<span class="mw-page-title-main">Android Debug Bridge</span> Tool for debugging Android-based devices

The Android Debug Bridge is a programming tool used for the debugging of Android-based devices. The daemon on the Android device connects with the server on the host PC over USB or TCP, which connects to the client that is used by the end-user over TCP. Made available as open-source software under the Apache License by Google since 2007, features include a shell and the possibility to make backups. The adb software is available for Windows, Linux and macOS. It has been misused by botnets and other malware, for which mitigations were developed such as RSA authentication and device whitelisting.

<span class="mw-page-title-main">Chromebook</span> Laptop or tablet computer running ChromeOS

Chromebook is a line of laptop and tablet computers that run ChromeOS, an operating system developed by Google.

Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.

<span class="mw-page-title-main">Aptoide</span> Online marketplace for Android apps

Aptoide is an online marketplace for mobile applications which runs on the Android operating system. In Aptoide, unlike the Android-default Play Store, there is not a unique and centralized store; instead, each user manages their own store. The software package is published by Aptoide S.A., a for-profit company incorporated in 2011, and headquartered in Lisbon, Portugal.

<span class="mw-page-title-main">Chromebook Pixel</span> 2013 Google laptop

The Chromebook Pixel is a 2013 laptop at the high end of Google's Chromebook family of machines, which all come preinstalled with ChromeOS operating system. The Chromebook Pixel is part of the Google Pixel series of consumer electronics. An updated model was released in 2015. Chromebook Pixel stopped receiving software and security updates in August 2018.

<span class="mw-page-title-main">Newton (software)</span> Cross-platform e-mail application

Newton is an email management application for iOS, Android, MacOS, Windows and ChromeOS developed by CloudMagic, Inc. The application is known for its searching capabilities, cross-platform abilities and user interface. It has been referred to as an email client better than Gmail's native app. As from September 15, 2016, CloudMagic has been renamed to Newton Mail with premium services, adding a host of new features and functions.

Android Runtime (ART) is an application runtime environment used by the Android operating system. Replacing Dalvik, the process virtual machine originally used by Android, ART performs the translation of the application's bytecode into native instructions that are later executed by the device's runtime environment.

Android 12 is the twelfth major release and 19th version of Android, the mobile operating system developed by the Open Handset Alliance led by Google. The first beta was released on May 18, 2021. Android 12 was released publicly on October 4, 2021, through Android Open Source Project (AOSP) and was released to supported Google Pixel devices on October 19, 2021.

<span class="mw-page-title-main">Privacy Sandbox</span> Google initiative to create web standards for advertising without the use of third-party cookies

The Privacy Sandbox is an initiative led by Google to create web standards for websites to access user information without compromising privacy. Its core purpose is to facilitate online advertising by sharing a subset of user private information without the use of third-party cookies. The initiative includes a number of proposals, many of these proposals have bird-themed names which are changed once the corresponding feature reaches general availability. The technology include Topics API, Protected Audience, Attribution Reporting, Private Aggregation, Shared Storage and Fenced Frames as well as other proposed technologies. The project was announced in August 2019.

<span class="mw-page-title-main">Bootloader unlocking</span> Process of disabling secure device booting

Bootloader unlocking is the process of disabling the bootloader security that makes secure boot possible. It can make advanced customizations possible, such as installing a custom firmware. On smartphones this can be a custom Android distribution or another mobile operating system. Some bootloaders are not locked at all, others can be unlocked using a standard command, others need assistance from the manufacturer. Some do not include an unlocking method and can only be unlocked through a software exploit.

References

  1. "Getting Started with ARC Open Source on Linux" . Retrieved 25 January 2015.
  2. Google I/O 2014 - Keynote , retrieved 2023-07-05
  3. "First set of Android apps coming to a Chromebook near you". Google Chrome Blog. Retrieved 2023-07-05.
  4. "About App Runtime for Chrome (Beta)". Google Inc. Retrieved 25 January 2015.
  5. "First set of Android apps coming to a Chromebook near you". Google Chrome Blog. Retrieved 2023-07-05.
  6. "About App Runtime for Chrome (Beta)". Google Inc. Retrieved 25 January 2015.
  7. "3 More Android Apps Now Available for Chrome OS, Including Podcast Addict". 8 October 2014.
  8. "The Chromebook Pixel (2015) Review".
  9. Rubin, Brian. "Google's ARC Welder Gives You A Glimpse Of An Android-Anywhere Future". ReadWrite. Retrieved 3 April 2015.
  10. https://tc.gtisc.gatech.edu/bss/2014/l/proposals/meng.xu.pdf [ bare URL PDF ]
  11. "Issue 690903002: Remove timing limitation of SetOption invocation for PPAPI sockets. (Closed)" . Retrieved 25 January 2015. I'm working on ARC (App Runtime for Chrome) project, which is to run android applications on Chrome, launched two months ago. In the project, we implement posix-layer on top of NaCl IRTs and PPAPIs.
  12. Meng Xu (10 December 2014). "Security Evaluation for ARC".
  13. https://tc.gtisc.gatech.edu/bss/2014/l/final/mengxu.pdf [ bare URL PDF ]
  14. "Bitbucket". bitbucket.org. Retrieved 2023-07-05.
  15. Filippov, Vlad (2023-07-02), chromeos-apk , retrieved 2023-07-05
  16. nerd.of.steel. "twerk - Chrome Web Store". Archived from the original on 2015-01-28.
  17. "Archived copy". Archived from the original on 2015-02-15. Retrieved 2015-01-28.{{cite web}}: CS1 maint: archived copy as title (link)
  18. "r/chromeapks". reddit. Retrieved 2023-07-05.
  19. "Chrome APK Official Apps List – Google Sheets". Archived from the original on 2015-08-10. Retrieved 2015-01-28.
  20. "Dev.Opera — Opera Mini on your Chromebook for fun and bandwidth". dev.opera.com. Retrieved 2023-07-05.
  21. "Install and use Android apps on your Chromebook - Chromebook Help". support.google.com. Retrieved 2023-07-05.