Hubbry Logo
Google App Runtime for ChromeGoogle App Runtime for ChromeMain
Open search
Google App Runtime for Chrome
Community hub
Google App Runtime for Chrome
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Google App Runtime for Chrome
Google App Runtime for Chrome
from Wikipedia
Android Runtime for Chrome
DevelopersGoogle, others
Stable release
None yet
Written inJavaScript, Java, C, C++
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]

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]

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]

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]

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]

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]

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]

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]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Google App Runtime for Chrome (ARC), also known as Android Runtime for Chrome, is a compatibility layer and virtualized runtime developed by Google that allows Android applications to run natively on Chrome OS devices, such as Chromebooks, by encapsulating the Android operating system in a secure, sandboxed environment using containers and virtual machines for isolation. Introduced as a beta in 2014, ARC enables users to access Android apps through the Google Play Store, integrating mobile productivity and entertainment features into the Chrome OS ecosystem while supporting offline functionality, cloud storage syncing, and multi-window usage. The runtime was first announced at 2014, with an initial beta release that brought a limited set of Android apps, including , , and , to select Chromebooks via the . This early version focused on providing developers with tools like ARC Welder—a Chrome extension for packaging and testing Android apps as Chrome apps—without requiring extensive modifications to the original APK files. By 2016, Google expanded ARC's capabilities at , integrating it fully with the Google Play Store for broader app availability and rolling it out to supported Chrome OS devices starting with version M53. This evolution transformed Chromebooks from web-centric devices into versatile platforms capable of running millions of Android apps, particularly benefiting educational and enterprise users with touch-optimized experiences and via Google's Admin Console. Architecturally, ARC operates by running a full Android OS instance within a virtual machine on Chrome OS, using network address translation (NAT) for IPv4 traffic and dedicated IPv6 addressing to isolate app networking while forwarding mDNS for service discovery. It supports key Android features like sensors (with manifest declarations for compatibility), local and cloud storage for data persistence, and orientation changes, but imposes limitations such as no support for custom input method editors (IMEs), app widgets, live wallpapers, or direct hardware access beyond specified permissions. Developers targeting ARC must update app manifests to declare features like touchscreen (optional via android.hardware.touchscreen=false), target SDK levels compatible with Chrome OS (typically Android 7.0+), and handle multi-window behaviors, ensuring apps perform reliably in the hybrid environment. Since 2022, ARC has incorporated ARCVM for improved security isolation via virtual machines and ongoing performance optimizations. As of 2025, ARC remains integral to Chrome OS, allowing seamless distribution of Android apps on Chromebooks without native porting.

Introduction

Overview

The Google App Runtime for Chrome (ARC) is a sandboxed that enables Android applications to run on Chrome OS and other Chrome-based platforms without the need for native Android hardware. It implements an entire stack in a secure, containerized environment on Chrome OS, allowing apps to leverage standard Android APIs while integrating with Chrome OS features like the keyboard and touchpad. ARC was announced by , then Senior Vice President of Android, Chrome, and Apps, at the developer conference in June 2014. The initiative formed part of Google's broader strategy to unify its mobile and desktop ecosystems by bridging Android apps with Chrome OS devices, enhancing cross-platform mobility for users. The project launched in beta on September 11, 2014, for Chrome OS version 37 and later, initially supporting a limited selection of apps including for language learning, for note-taking, for video sharing, and Sight Words for educational purposes. These apps were distributed via the and appeared natively in the Chrome OS launcher. Over time, ARC evolved to support full integration with the Google Play Store.

Purpose and Scope

The Google App Runtime for Chrome (ARC) was developed with the primary goal of bridging the extensive library of Android applications—exceeding 1 million apps available on the Google Play Store by 2016—with the web-centric environment of Chrome OS, thereby enabling users to access a wide range of mobile apps seamlessly on Chromebooks and other desktop form factors. This initiative aimed to expand the utility of Chrome OS devices, particularly for productivity and mobility, by incorporating touch-optimized Android apps that support offline functionality and leverage hardware like full-size keyboards and touchscreens without requiring developers to port their applications. Initially, the scope of ARC was confined to Chrome OS devices, such as Chromebooks, where it operated as a beta compatibility layer to run select Android apps within the platform's ecosystem, starting with an early set of four applications in 2014. To facilitate developer testing beyond Chrome OS, later extended access through ARC Welder, a Chrome Packaged App released in 2015 that allowed packaging and running Android APKs on Windows, macOS, and via the Chrome browser, though it was intended primarily for experimentation rather than production use. ARC's design emphasized integration with Chrome OS's native features, including sensors for input and offline capabilities, all within a secure sandbox to enhance productivity on and desktop hardware. Unlike efforts to fully merge Android and Chrome OS, ARC functioned as a lightweight, containerized runtime that avoided redundancy with standalone Android devices by isolating Android app execution and limiting features like direct network access to prevent overlap or security risks. This approach ensured that Chrome OS retained its focus on web applications while selectively incorporating Android's ecosystem to broaden app availability without compromising the platform's core architecture. As of 2025, ARC continues to enable seamless Android app support on Chrome OS with ongoing enhancements for performance and security.

Development History

Initial Announcement and Early Development

The App Runtime for Chrome (ARC) originated in 2014 as an experimental initiative by Google's Chrome OS team, aimed at enabling Android applications to run on desktop environments through Chrome's Native Client (NaCl) technology, which provided a sandboxed runtime for native code execution within the browser. This project sought to bridge the gap between mobile and desktop platforms by leveraging NaCl's ability to compile and isolate Android's Dalvik virtual machine, allowing select Android apps to operate as Chrome extensions without full recompilation. ARC was publicly announced at the Google I/O developer conference in June 2014, marking the start of broader experimentation with Android app compatibility on Chrome OS. A developer preview followed that summer, enabling a limited group of Android developers to convert their APK files into Chrome extensions for testing on Chrome OS devices, focusing on simple apps that did not heavily rely on mobile-specific integrations. In September 2014, Google rolled out a beta version integrated with Chrome OS 37 and later, initially supporting only four curated applications—Duolingo for language learning, Evernote for note-taking, Sight Words for children's education, and Vine for video sharing—available via the Chrome Web Store. This beta emphasized proof-of-concept functionality, with apps running in a contained environment that emulated core Android APIs using NaCl. By October 2014, the beta expanded to include three additional apps: CloudMagic for email management, for sports news, and for audio content, reflecting Google's efforts to diversify early adoption while gathering developer feedback. In April 2015, Google released ARC Welder as a Chrome Packaged App, a tool designed for developers to easily package and test any Android APK on Chrome browsers across Windows, macOS, , and Chrome OS, without requiring Chrome OS-specific hardware. This release democratized access to ARC testing, supporting features like OAuth2 authentication and partial integration, though it remained in beta and targeted experimentation rather than production deployment. Early development faced significant challenges, particularly limited app compatibility stemming from discrepancies in hardware abstraction layers between mobile Android devices and desktop Chrome environments. Android apps often depended on smartphone-specific sensors, touch gestures, and telephony APIs that were absent or emulated poorly in NaCl-based runtimes, causing crashes or degraded performance in apps requiring precise mobile hardware interactions. Additionally, the reliance on Android 4.4's Dalvik runtime—rather than the newer ART compiler—exacerbated compatibility issues with apps optimized for later versions, restricting the beta to lightweight, non-dependent applications during this phase.

Key Milestones and Evolutions

In 2016, Google introduced ARC++, the second iteration of the Android Runtime for Chrome, which integrated support for the Google Play Store on Chrome OS version 53 and later, allowing access to millions of Android applications directly through the official store. This version was initially based on Android 6.0 Marshmallow, leveraging Linux kernel features such as cgroups and namespaces to run Android apps in isolated containers on Chrome OS devices. Between 2017 and 2018, ARC received significant upgrades, advancing to Android 7.0 in 2017 and Android 9 in 2018, which enhanced graphics rendering capabilities and introduced multi-window support for improved user experience on Chromebooks. These updates also provided full developer access to Play Store APIs, enabling seamless integration and broader app compatibility without requiring modifications to the applications themselves. By 2019, development shifted toward a virtual machine-based architecture known as ArcVM, building on earlier efforts to improve isolation and upgradability, with initial work evident in code changes that year. Although formally announced in March 2022, this evolution addressed limitations in the container model by using lightweight virtual machines to run the Android subsystem more securely. Throughout the 2020s, ARC aligned with successive Android versions starting from Android 9, progressing to with the ArcVM rollout in 2021 and in 2023 on compatible Chrome OS devices. Ongoing security enhancements included patches for vulnerabilities in the , such as the use-after-free issue in CVE-2025-48543, which was addressed in Android updates applicable to ARC environments. In July 2025, Google announced plans to combine Chrome OS and Android into a single unified platform, expected to launch in 2026, which is anticipated to integrate or supersede the ARC runtime for running Android applications on Chrome OS devices. ARC has evolved into a containerized runtime that shares the Chrome OS Linux kernel, minimizing overhead while enabling hybrid experiences that blend web and Android applications natively. As of 2025, it remains a core component of Chrome OS, supporting production deployment on millions of devices for seamless Android app execution.

Technical Architecture

Core Components

The core of the Google App Runtime for Chrome (ARC) is the Android Runtime for Chrome Virtual Machine (ArcVM), introduced in 2021, which runs a full instance of the Android operating system in a virtual machine on Chrome OS using crosvm (a virtual machine monitor) and KVM (Kernel-based Virtual Machine) for isolation. This VM-based approach replaces earlier container-based models, providing enhanced security by isolating untrusted Android code from the host kernel while enabling independent upgrades of the Android subsystem. ArcVM uses a unified guest kernel based on the Android Common Kernel (ACK) for x86_64 and aarch64 architectures, supporting Android 11 and later versions as of 2025. At the heart of app execution in ARC is the Android Runtime (ART), the primary virtual machine for modern Android apps, which compiles DEX bytecode ahead-of-time to native code for improved and . This runtime executes standard Android within the ArcVM guest environment, supporting core app logic without requiring modifications to the original APK files. As of 2025, ART handles dynamic behaviors and ensures compatibility with Chrome OS's hybrid setup. APKs are installed and executed directly within the ArcVM's Android environment, typically via the integrated Store, preserving app assets, manifests, resources, and permissions without transformation into Chrome extensions. Permissions are mapped to Chrome OS APIs for compatibility, enabling distribution through the Play Store or while maintaining security boundaries. Hardware abstraction in ARC bridges Android app expectations with Chrome OS capabilities through integrated APIs, facilitating cross-device portability. Input handling abstracts touch, keyboard, and trackpad events via Chrome OS mechanisms that emulate Android touch gestures—such as mapping multi-finger trackpad scrolls to swipes—and support stylus interactions with pressure sensitivity where available. Display management includes dynamic resizing and orientation adjustments aligned with Chrome window states, while sensors like are emulated using Wi-Fi-based positioning in lieu of physical GPS on many Chromebooks, ensuring apps function across varied hardware without native sensor dependencies. Language support in ARC centers on Android's primary development paradigms, with /Kotlin for high-level app logic and C/C++ via the Native Development Kit (NDK) for performance-critical native modules executed within the ArcVM guest environment. Additionally, serves as the interfacing layer for Chrome extensions that interact with ARC instances, allowing developers to extend functionality through browser APIs while the core Android code remains in its original languages.

System Integration

The Google App Runtime for Chrome (ARC) employs a virtual machine-based deployment model on Chrome OS via ArcVM, leveraging virtualization features such as KVM to isolate the Android subsystem from the host system. This VM setup provides process, network, and resource isolation, with the guest Android OS running in a separate kernel space; control groups () and namespaces are used within the guest for further app-level separation, enforcing limits on CPU, memory, and device access to prevent interference with the host. Privileged operations are handled securely, with capability restrictions enhancing overall separation. ARC facilitates API bridging between the Android subsystem and Chrome OS through Chrome Runtime APIs, enabling seamless lifecycle management including app launch, suspension, and termination, as well as handling permissions for resources like storage and network access. Network integration occurs via (NAT) for IPv4 traffic and dedicated addressing, with mDNS forwarding for , allowing Android apps to communicate externally while maintaining VM boundaries. Permissions are managed through the app's Android manifest, adapted for Chrome OS compatibility, such as declaring touchscreen hardware as optional to support diverse input methods. Integration with is a core aspect of ARC's deployment on Chrome OS, providing support for user authentication, in-app purchases, and push notifications directly within the ArcVM environment. This enables Android apps to leverage Play Store functionalities, such as seamless sign-in via accounts and for notifications, without requiring modifications to the host OS. The Play Store itself runs within ARC, allowing app downloads and updates to occur independently of Chrome OS system changes. For cross-platform compatibility beyond Chrome OS, legacy tools like ARC Welder allowed packaging Android APKs as Chrome extensions for testing in the Chrome browser on Windows, Linux, and macOS. However, as of 2025, this is primarily a deprecated development tool, with focus on native Chrome OS integration via ArcVM. ARC's upgradability model decouples the Android subsystem from the Chrome OS kernel, enabling independent updates to the Android runtime without necessitating full OS rebuilds, a capability central to ArcVM since 2021. ArcVM utilizes virtual machines with a unified guest kernel and tools like crosvm and KVM, simplifying upgrades from versions like Android 11 to 13 and reducing maintenance overhead. As of November 2025, this approach ensures that security patches and feature updates to the Android environment can be rolled out efficiently, improving long-term maintainability across Chrome OS devices.

Features and Functionality

App Compatibility and Support

The Google App Runtime for Chrome (ARC) enables compatibility with Android Package Kit (APK) files targeting modern Android versions (API level 30 and higher), with the runtime supporting up to Android 15 (API level 35) as of 2025. This range ensures that a broad spectrum of modern Android applications can run on Chrome OS devices without requiring significant rewrites, provided they adhere to standard Android development practices. ARC provides full architectural support for both (including armeabi-v7a and arm64-v8a) and x86 (x86 and x86_64) instruction sets, leveraging native execution where possible and or emulation for cross-architecture compatibility to optimize performance across diverse Chrome OS hardware. This dual-architecture capability allows apps built for mobile devices to execute seamlessly on Chromebooks, Chromeboxes, and other compatible systems. Key supported features include hardware sensors such as accelerometers, gyroscopes, and proximity sensors, with GPS location services proxied through Chrome OS's Wi-Fi-based positioning system; direct access to cameras and microphones for applications; and file operations mapped to Chrome OS storage APIs, enabling persistent handling in a sandboxed environment. These integrations allow many productivity, media, and utility apps to function effectively in a desktop context. Despite this broad support, limitations exist for specific app categories. Games that demand dedicated mobile GPUs or advanced graphics APIs may underperform due to variations in Chrome OS hardware acceleration and rendering pipelines. Similarly, applications dependent on mobile-exclusive APIs, such as telephony for calls or SMS, often require developer-implemented workarounds, like cloud-based alternatives, or may remain partially non-functional without adaptation. Apps declaring unsupported hardware features as required in their manifests, such as NFC or IR blasters, will typically fail to install unless modified. To enhance compatibility and , developers should leverage Android Studio's integrated tools for Chrome OS deployment and testing, including configuration for resizable activities to accommodate multi-window modes and keyboard navigation support for input methods suited to and desktop use cases. These guidelines, outlined in official development resources, help ensure apps adapt to Chrome OS's larger screens, external peripherals, and features without compromising core functionality. Since 2021, ARC has utilized the ARCVM (Android Runtime for Chrome Virtual Machine) implementation, which runs Android in an isolated for improved security and upgradability, based on and later versions. As of 2025, many Store apps are compatible with ARC, particularly those designed for standard Android environments, though some require adaptations or remain incompatible due to hardware or dependencies. In July 2025, announced plans to merge Chrome OS and Android into a unified operating system, which is expected to further enhance app compatibility and performance in future releases.

Performance Optimizations

Google App Runtime for Chrome (ARC) employs a carefully designed graphics stack to achieve native-level performance for Android applications on Chrome OS hardware. By utilizing Wayland as the compositor protocol for rendering and window management, ARC enables seamless integration and efficient graphics acceleration, allowing apps to leverage desktop GPUs without significant overhead. This approach ensures high-fidelity rendering of content, translating mobile graphics calls to desktop-compatible formats for smooth execution on Chromebooks. Memory management in ARC is optimized through integration between the Android guest kernel in the virtual machine and the Chrome OS host, which minimizes resource duplication and enables efficient allocation across the system. The Virtual Machine Memory Management Service (VMMMS) dynamically adjusts RAM usage via Linux virtio-balloon mechanisms, responding to memory pressure signals from both Android's Low Memory Killer Daemon (LMKD) and Chrome's tab discarder to prioritize active tasks. In modern Chrome OS devices, this allows the Android subsystem to access up to several gigabytes of shared system RAM—typically scaling with available hardware (e.g., 4GB or more on entry-level models)—while saving approximately 750 MB for non-Android workloads. ARC supports multi-threading in the Dalvik virtual machine and its successor, the (ART), enabling Android apps to utilize Chrome OS's multi-core processors for improved responsiveness and parallel processing. This integration allows apps to distribute workloads across CPU cores, enhancing performance for compute-intensive tasks without additional overhead, as ARC runs in lightweight s. To address battery life and thermal constraints on laptop hardware, ARC implements adaptive resource scaling that monitors system load and adjusts CPU and memory allocation dynamically. Idle Android apps are suspended using Android's Doze mode, which simulates a display-off event to trigger power-saving states and idle maintenance, thereby conserving energy when ARC is not in active use. These optimizations result in 15-20% average power savings for users not running Android apps, reducing thermal throttling and extending battery runtime on portable Chromebooks. Recent enhancements, including the 2024 rollout of improved memory ballooning and on-demand ARC booting, further refine these mechanisms by delaying subsystem initialization until needed, cutting initial resource overhead and reducing Chrome tab discards by up to 50% without killing Android processes.

Security and Privacy

Sandboxing Mechanisms

The Google App Runtime for Chrome (ARC), introduced in 2014, initially employed a Native Client (NaCl)-based sandbox to isolate Android applications from the host Chrome OS environment. This early sandbox executed apps within a contained runtime adhering to Chrome's permission model, restricting access to host system files, extensions, or privileged resources. NaCl enforced and , ensuring untrusted APKs could not escalate privileges. In 2016, ARC evolved to ARC++, using Linux containers with cgroups and namespaces for process isolation, running apps in dedicated environments while supporting broader compatibility via the Google Play Store. Current implementations, under ARCVM since 2021, utilize virtualization-based sandboxing with KVM and the crosvm hypervisor to provide stronger isolation. Each Android instance runs in a dedicated virtual machine, decoupling the Android kernel from the Chrome OS host. This VM boundary prevents propagation of guest vulnerabilities to the host, with crosvm—written in Rust—mediating hardware access securely. Network and device interactions are proxied through the hypervisor, maintaining separation while enabling features like OTA updates to the Android subsystem without rebooting Chrome OS. The permission system maps Android permissions to Chrome APIs, enforced declaratively at installation. "Dangerous" permissions require user consent, translated to scoped Chrome interfaces for resources like storage or geolocation. Data is stored in isolated, user-specific containers within Chrome's partitions, inaccessible to other apps or the host filesystem beyond mediated access. This multi-layered evolution—from NaCl to containers to VMs—addresses risks from untrusted APKs by containing them without exposing additional attack surfaces beyond standard Chrome protections.

Enhancements and Vulnerabilities

In 2019, Google initiated development of ArcVM, a virtualization-based approach to running the Android Runtime for Chrome (ARC) using KVM-based virtual machines via the crosvm hypervisor, which provides stronger isolation for Android apps compared to previous container-based methods. This design enables independent upgrades to the Android kernel within the guest VM without requiring reboots of the Chrome OS host, enhancing security by minimizing disruptions and allowing timely patching of Android-specific components. The full rollout of ArcVM began in 2022, coinciding with support on Chrome OS, introducing over-the-air (OTA) updates for the Android subsystem to improve maintainability and reduce the posed by outdated kernels or subsystems. By decoupling the Android environment from the host kernel, ArcVM limits exposure to vulnerabilities that could propagate from the guest to the Chrome OS system, while facilitating faster deployment of security fixes. A notable in ARC was disclosed in 2025 as CVE-2025-48543, a use-after-free flaw in the (ART) that could enable sandbox escape from Chrome's isolation to the Android system_server process, potentially leading to local . This issue, actively exploited in targeted attacks, was addressed in the September 2025 Android Security Bulletin and subsequently integrated into Chrome OS version 142, released on November 11, 2025. Regarding privacy, ARC enforces no default data sharing with Google services beyond what is required for Play Store app distribution and updates; access to sensitive features such as and camera is strictly opt-in, requiring explicit user permission per app. This aligns with Android's permission model while maintaining Chrome OS's baseline sandboxing for app isolation. Ongoing security efforts include alignment of ARC with Android's SELinux policies for , supplemented by monthly Chrome OS security bulletins that have incorporated Android Runtime patches since 2017 to address emerging threats.

Community and Extensions

Open-Source and Third-Party Tools

One prominent community-driven project is the runtime, developed by Vlad Filippov in 2014 as a custom of the official App Runtime for Chrome (ARC). This tool enables running Android applications on non-Chrome OS platforms, including Windows, macOS, and , by packaging them as Chrome extensions. Unlike the original ARC, which imposed limits on the number of supported apps, ARChon removes these restrictions, allowing users to install and run an unlimited number of compatible APKs through the Chrome browser. Complementing ARChon, open-source tools such as Twerk and Packager facilitate the conversion of standard Android APK files into ARC-compatible formats. Twerk, a desktop Chrome app released in 2014 that was used to simplify the packaging process by directly processing APKs for use with or the official runtime, making it accessible for users on various operating systems, but is no longer supported due to the phase-out of Chrome apps. Similarly, Packager, hosted on and formerly known as Chrome APK Packager, provides a mobile-friendly interface for generating custom runtime packages from APKs, though community forks exist, active maintenance has ceased since 2017. The Reddit community at r/chromeapks serves as a key hub for enthusiasts, maintaining extensive lists of compatible Android apps and sharing modifications for deploying them outside Chrome OS environments. Established in 2014, the subreddit focuses on troubleshooting, app compatibility testing, and tweaks to extend ARC functionality across desktop platforms. Partial open-source contributions to ARC are evident in the repository, where documentation, interface definitions, and sample code related to ARC integration—such as Mojom files for components like OEM crypto—are released under a BSD-style . However, the core runtime remains , limiting full community access to underlying implementation details. However, the ongoing phase-out of Chrome apps, beginning in July 2025 and completing in October 2028, limits the functionality of these extension-based tools on desktop platforms. As of 2025, tools like the official ARC Welder have been deprecated for non-developer use, with support phased out following the broader end of Chrome apps, though community projects such as continue to be maintained for legacy testing and hobbyist applications.

Developer Resources

Developers can utilize ARC Welder, a Chrome extension released by in 2015, which was deprecated following the end of Chrome apps support, to load, test, and package Android APK files directly within the Chrome browser on desktop platforms including Windows, macOS, and . This tool simulates the ARC runtime environment, allowing developers to select form factors such as phone, tablet, or desktop to evaluate app behavior across different screen sizes and input methods without requiring a physical . ARC Welder supports APK loading via drag-and-drop or file selection, enables debugging through Chrome DevTools, and facilitates packaging apps for distribution, though it is primarily intended for testing rather than production deployment and is no longer officially supported. Official documentation for developing Android apps on Chrome OS is available through chromeos.dev, providing comprehensive guides on optimizing applications for the platform's unique characteristics. These resources cover essential adaptations, such as handling keyboard and input to accommodate peripherals, where developers must implement compatible navigation schemes like arrow keys for focus management and ensure touch gestures translate effectively to pointer events. Additional guides address multi- support, instructing developers to test apps in resizable windows and landscape orientations to leverage Chrome OS's free-form multitasking, including proper handling of window states like maximized or snapped layouts. The documentation emphasizes verifying compatibility with x86 architectures common in Chromebooks and recommends using the large screen app quality checklists for enhanced user experiences on devices with 10-inch or larger displays. Integration with enables targeted development for Chrome OS, including plugins and configurations that incorporate the ARC runtime for local testing. Developers can create Chrome OS-specific virtual devices in the Device Manager, selecting profiles that emulate hardware such as trackpads, keyboards, and larger screens to simulate the ARC environment accurately. This setup allows deployment of APKs directly to the via ADB, facilitating iterative testing of features like multi-window resizing and input handling without a physical device. Android Studio's support for Chrome OS extends to manifest validation tools that flag incompatible features, ensuring apps align with ARC constraints during the build process. The open-source portions of ARC are accessible via the Chromium project repository, with getting-started guides for building custom ARC instances on Linux-based systems. These instructions detail checking out the ARC source code, compiling the runtime components using standard Chromium build tools like Ninja and GN, and running modified instances in a developer mode Chromebook or virtual machine. Developers can enable dev mode on compatible devices to sideload custom builds, experiment with runtime modifications, and integrate changes into the broader Chromium OS ecosystem, though proprietary elements remain closed-source. As of 2025, has updated developer resources to support compatibility within the ARC runtime, including adjustments for enhanced security and performance on Chrome OS. These updates provide guidance on targeting level 34 in app manifests to access features like predictive back gestures and partial screen sharing, while ensuring for older Chromebooks. Sample code and codelabs are available for preparing apps for Play Store submission on Chromebooks, demonstrating manifest configurations for Chrome OS targeting, such as declaring support for resizable activities and x86_64 ABIs to reach the platform's user base. Developers are advised to use the Play Console's device catalog to verify Chrome OS eligibility and test submissions against ARC-specific validation rules before publishing.

Reception and Impact

The launch of the Google Play Store on select Chromebooks in 2016 represented a key milestone for ARC adoption, granting users access to over 1.5 million Android apps and broadening the platform's utility beyond web applications. By 2020, Android app usage on Chromebooks had grown markedly, with reports indicating that a majority of users in education-heavy environments were accessing these apps regularly; time spent in Android apps had increased fourfold year-over-year as of late 2019, reflecting sustained momentum into the early 2020s. This trend was fueled by expanding hardware support, as all Chromebooks sold since 2019 included native Android app compatibility. In 2025, ARC remains widely supported on active Chrome OS devices, with ongoing compatibility for recent Android versions and enabling hybrid workflows that blend web, , and Android applications. This contributes to the growing user base, many leveraging Android apps for productivity and entertainment. highlights ARC's role in reducing cross-platform development costs, allowing developers to target Chrome OS with minimal modifications to existing Android codebases. In July 2025, Google announced plans to integrate Android's underlying technologies into Chrome OS, aiming to improve performance and app compatibility, which has been positively received as a step toward enhancing ARC's long-term viability. ARC's market impact is most pronounced in education and enterprise sectors, where it has boosted Chromebook deployments through integrations like Google Workspace (formerly G Suite) with Android productivity tools such as Docs and Sheets mobile versions. For instance, 93% of U.S. school districts plan Chromebook purchases in 2025, often citing Android app access as a factor in enhancing collaborative learning. In enterprise, adoption via managed Chrome OS fleets has grown at an 8.2% compound annual rate, supporting secure app distribution and hybrid work environments. Globally, ARC-driven adoption remains concentrated in the U.S. and education-focused markets, where Chrome OS holds strong penetration, though enterprise uptake is expanding through managed deployments in regions like and . This focus has positioned Chromebooks as a cost-effective hybrid platform, with Android apps playing a central role in its ecosystem expansion.

Criticisms and Limitations

Despite significant advancements, the Google App Runtime for Chrome (ARC) continues to face compatibility challenges with certain Android applications. Many apps from the Google Play Store are optimized for mobile devices and do not fully adapt to Chrome OS environments, resulting in issues such as improper scaling on larger screens, misaligned user interface elements like buttons that span entire windows, and warnings indicating that the app is "designed for mobile" and may not resize well. These problems stem from hardware dependencies, including mobile-specific sensors (e.g., accelerometers or proximity sensors) that are absent or differently implemented on Chromebooks, leading to app failures or degraded functionality, particularly for resource-intensive titles. Performance critiques of ARC highlight occasional lag in graphics-intensive applications when compared to native Android implementations, primarily due to the shared CPU and memory resources between Chrome OS tabs and the Android runtime environment. This resource contention can cause app slowdowns and increased power consumption, with ARC running in the background contributing to higher battery drain on devices not actively using Android apps. On older Chromebooks, battery-hungry Android apps, such as video games, exacerbate these issues by poorly integrating with Chrome OS power management features designed for web-based workflows, potentially reducing overall battery life during extended use. Public understanding of ARC remains hampered by outdated resources, such as early coverage portraying it as an experimental beta from 2015, which overlooks key integrations like the Store rollout in 2016 and subsequent upgrades to Android 7.0 in 2017, Android 9 in 2018, and the secure ArcVM virtualization in 2021. This misconception perpetuates the view of ARC as a niche or unstable , despite its into a mature containerized runtime supporting broader app deployment. Privacy concerns with ARC arise from the potential for data leakage in Android apps synced through the Chrome ecosystem, where user information could inadvertently share across services, although sandboxing mechanisms provide some mitigation. Critics have pointed to opaque update cycles for the runtime, which can delay patches for vulnerabilities in the underlying Android layer, heightening risks from malicious apps distributed via the Play Store that have infected hundreds of thousands of devices. A notable limitation for enterprise deployments is ARC's heavy reliance on the Google Play ecosystem, which restricts the use of sideloaded APKs and allows bypassing of without developer mode or ADB in some cases, complicating secure app distribution in managed environments. This dependency excludes non-Play Store applications, posing challenges for organizations requiring custom or internal APKs without compromising device security policies.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.