Chromebooks facilitated the installation of Play Store thereby aiding in running several Android Apps. Chromebooks lost its title of glorified web browsers and opened several other avenues before it.
It has come to be known that Google is aiming at making several changes to the Chrome OS’s Android apps support, which may open up a long requested feature.
History of Android on Chrome OS
Android Runtime for Chrome (ARC) came into existence four years back which allowed the Chrome browser an ability to run Android apps.
This facility was created keeping in mind the Chrome OS, however developers were quick to notice that Android apps could be run in Chrome on any desktop platform.
Google however looked to create something more helpful and that would be Chrome OS specific. Hence was born the next generation of ARC, “ARC++” to blend with classic developer naming scheme.
The Android run-time was integrated deeply with Chrome OS by ARC++ which consequently allowed things like Play Store. This is the principle on which Android apps run on Chromebooks.
Chrome OS, just like Android basis itself on the Linux kernel hence ARC++ was possible. In order to be fully secure ARC++ runs in a “container”, by isolating the Android parts from the remaining of Chrome OS. Although these efforts seem fair enough, the Chrome team states that it can improve even more.
We try our best to isolate them to a great extent with the use of namespaces, seccomp, alt syscall, SELinux and so on, however there is direct access for them to several syscalls and kernel interfaces and if a bug in there can be reached via code compiled with Android’s NDK.
If you wish to learn more about ARC++, a great explanation by David Reveman has been provided on how it connects geographically to the Chrome OS, on LWN. David Reveman was a member of the Chrome team and now has moved to Fuchsia.
Linux on Chrome OS is different
An incredible effort was out in place by Google on Chrome OS that would make Linux apps available to be installed and use which is often called Crostini. This was pretty tough task. Since Chrome OS is Linux-based it seems easier that Linux apps can be run on it.
The Chrome team decided to make a virtual machine that would run Debian and then it would integrate that virtual machine with the Chrome OS “host.”
They could have just used existing virtual machine technology from QEMU or VirtualBox, but they decided to create their own specialized tools from the start. They were called “crosvm” and “Termina.”
Virtual machines were decided to be used for safety purposes. It was believed that a direct access to Chrome OS’s Linux kernel would breed malicious code and viruses.
Google takes control of the app ecosystem on Android, hence it can be said that all the apps are safe and secure.
However if you wish to side-load Android apps, your device will have to be in developer mode which is an unsafe thing.
On Linux since Google does not have control, safety was not guaranteed. The need of a virtual machine was a must. Here if you install a malicious application, you can easily shutdown the virtual machine and erase it.
All was not easy to integrate virtual machines with Chrome OS so that Linux feels at home. A lot of effort has gone to bring together GPU support that allows geographically intense Linus applications and games.
Google has not yet intended to bring any changes to the status quo of Android apps currently on Chrome OS. The Chrome team however is putting into place work to make Chrome OS’s Android apps just like the Linux apps support.
This effort has been named ARCVM (short for ARC Virtual Machine); from the little that we know it seems to already take advantage of similar security features enabling an easy reset if there is something negative.
If Android apps are isolated as whole from the Chrome OS, it may lead to sideloading of Android apps without even going into developer mode.
There was a demand for side-loading of apps long back as apps that are said to be incompatible with Chromebooks worked fine when side-loaded. This would allow third-party app stores to be accessible on Chrome OS.
Also developers would be able to install Android Studio on a Chromebook and then develop their app and also test it on a device without being in developer mode. The ARCVM effort is mainly for secure development and this might be the main reason behind all of this.
The ARCVM project may however be scrapped just like the Campfire project as being another work-in-progress project discovered in Chromium.
Once a working prototype is developed, they will have to measure the positives and negatives of it and the impact of increased security and ability to sideload may have on performance on lower-end Chromebooks.
The development ARCVM is going on and the project has not been confirmed.
We do not know when it will come to use. A guess though will be either end of the year or when the Android Q on Chrome OS is launched.
Source : 9to5Google