Google has gone down a number of paths in their goal to get Android applications working on Chrome OS. We first learned about ARC Welder and its Chrome extension that allowed Android applications to simply run on any device that Chrome was installed on. This ran into some complications though, so they backed out and decided a better solution would be to provide support for Android applications on devices running Chrome OS software.
This method ended up being much more successful for the company and it’s what we’ve been seeing Google work on polishing and expanding for the last few years. By essentially running a version of Android on top of Chrome OS, we get tighter integration of Android application features as well as improved compatibility / support. However, this approach hasn’t been without its faults and this is why the system is still in its preview phase with support being pushed to a limited number of devices.
Those who are used to using VPNs on their computers, laptops, smartphones and tablets will likely know about the issues Google has had integrating Android apps into Chrome OS. Since we’re essentially running two different operating systems here, VPNs work in a unique way. If you enable a VPN within the Chrome OS settings then everything works as you would expect, and your online activity on both Chrome OS apps as well as Android apps will go through that VPN connection.
This is different with VPN connections made through an Android application though, as right now only Android applications will connect through said VPN connection. Not only can this be tested on your own device, but Google has confirmed that this is the current intended behavior, but that might not be the case for long. A new commit to the Chromium Gerrit shows that the company has added new APIs for integrating the Android VPN connection into Chrome OS.
The commit mentions the new APIs add calls to report that an Android VPN client has been connected or disconnected and to let users terminate Android VPNs through the Chrome OS UI. One rather significant change in the code reveals that Chrome browser traffic may be routable through an Android VPN (determined by the boolean value tunnel_chrome_traffic@3 in the ARC network configuration). Further, if an ARC VPN is connected, then the default network will route through that VPN while Android still believes that the physical network is still default.