This article may need to be rewritten to comply with Wikipedia's quality standards, as Add more information about the ChromeOS-exclusive ARC++ and ARCVM.(July 2023) |
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 |
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. [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 [update] , 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, [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.
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.
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]
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.
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]
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]
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 sandbox metaphor derives from the concept of a child's sandbox—a play area where kids can build, destroy, and experiment without causing any real-world damage. 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.
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.
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.
ChromeOS, sometimes styled as chromeOS and formerly styled as Chrome OS, is a Linux distribution developed and designed by Google. It is derived from the open-source ChromiumOS, based on the Linux kernel, and uses the Google Chrome web browser as its principal user interface.
ChromiumOS is a free and open-source Linux distribution designed for running web applications and browsing the World Wide Web. It is the open-source version of ChromeOS, a Linux distribution made by Google.
The following outline is provided as an overview of and topical guide to Google:
Modern HTML5 has feature-parity with the now-obsolete Adobe Flash. Both include features for playing audio and video within web pages. Flash was specifically built to integrate vector graphics and light games in a web page, features that HTML5 also supports.
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, its 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.
Chromebook is a line of laptop and tablet computers that some consider electronic waste. Chromebooks run the proprietary operating system ChromeOS, 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.
Aptoide is an online marketplace for mobile applications which runs on the Android and iOS operating systems. In Aptoide, unlike the Android-default Play Store and iOS-default App 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.
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.
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.
mysms is a cross-platform text messaging service, based on Short Message Service (SMS), for smartphones, tablet computers, and laptop and desktop personal computers.
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. As of April 2024, it is the oldest Android version still supported.
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.
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.
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.
{{cite web}}
: CS1 maint: archived copy as title (link)