Run any Android app on your Chromebook with this hack
Google is currently working with a handful of developers to bring a few Android apps to Chrome OS—but why wait for the pokey process to bear fruit? You can run any Android app on your Chromebook today. Chat on Skype, play Minecraft Pocket Edition, or read the latest news in Flipboard; it’s all possible, with a little help from Linux.
Here’s how it works: Google created a “runtime” that allows any Android app to run on Chrome OS. To test it out, it released four Android apps—Vine, Evernote, Duolingo, and Sight Words—that are now on the Chrome Web Store. Installing one of these apps will get you the runtime, and then you can “sideload” an Android app and run it on your Chromebook.
Google's goal is to get every Android app running on a Chromebook. In practice, the runtime is still in development and some apps crash—especially since Google's Android backend services aren't present on a Chromebook—but many apps already work just fine. Apps that use the microphone and camera even have access to your Chromebook’s microphone and camera. Android app notifications appear in Chrome’s notification center, too.
First, install one of the four official Android apps—like Kids Sight Words—from the Chrome Web Store. Try the app and ensure it works on your Chromebook. Installing this sample app will also install the Android runtime for Chrome OS, and that’s what lets this hack work behind the scenes.
Install an Android app on Chrome OS
We’ll be using the chromeos-apk tool for this. It runs on UNIX-like systems (read: Linux and Mac OS X). We performed this process with Ubuntu 14.04, but there’s a way to convert APK files manually if you’re on Windows, or you can run Ubuntu from a live CD or Wubi. You can even do this on a Chromebook itself if you’re a geek who’s installed Linux in developer mode.
On Ubuntu, open a Terminal window. Run the following two commands to install and set up node.js:
sudo apt-get install nodejs npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
Next, install the chromeos-apk tool:
sudo npm install chromeos-apk -g
You’ll need the Android app’s APK file. Google doesn’t just allow you to download these from the Google Play Store. You can sometimes find APK files on various websites online, but that's risky—it’s like downloading a program’s .exe file from an unofficial file-hosting site instead of the official source.
If you have an Android smartphone or tablet, AirDroid works well for this. Install the Android app you want to run on your Chromebook on your Android device, and install AirDroid as well. Open the AirDroid app and visit the AirDroid website on your computer. Sign in to the AirDroid interface. You don’t need to create an account, just scan the QR code on the screen with your device’s camera. Click the Apps icon, locate the app you want to run, and click the Download button to its right. You’ll get the app’s APK file on your computer.
Next, you’ll use the following command on your computer to package the Android app up for Chrome OS. (Be sure to replace “/path/to/app.apk” with the file path to the downloaded APK file on your drive.)
If you’d like to use the app’s tablet interface instead of it smartphone interface, add --tablet to the end of the command, like so:
chromeos-apk /path/to/app.apk --tablet
I saw an error message with Skype and had to enter the “com.skype.raider” name when prompted, but the tool still successfully converted Skype and it ran on my Chromebook. The tool is supposed to get the appropriate name from the APK file so you don’t have to enter it by hand, but it doesn’t always work.
The command generates a directory, which will appear in your home directory on Linux. Copy the entire directory to your Chromebook via a USB flash drive, SD Card, or shuffling it around using a cloud syncing service. Go to the Extensions page on your Chromebook (Chrome > "Hamburger" menu > Tools > Extensions), click Enable developer mode, and use the Load unpacked extension button to load the extension directory for the Android app.
Once that's done, simply open select the Launch option for the app in the Extensions menu.
Run more than one app
This tool has some limitations. Google’s Android runtime for Chrome is currently restricted to four specific apps, and the tool above replaces Vine with an app of your choice. You can only use the command above to install a single Android app on your device at a time. If you want to install up to three more, follow these instructions.
Vladikoff—chromeos-apk’s developer—has also now released a modified Android runtime for Chrome. It’s known as the ARChon Custom Runtime, and it allows you to run any number of apps at a time. It even allows you to run Android apps in Chrome on Windows, Linux, and Mac OS X. This modified runtime is less official and may be more unstable. Of course, Windows users already have a good way to run Android apps with BlueStacks or by installing Android in a virtual machine.
Where is this headed?
In the future, Google will likely improve their Android app runtime and allow all Android developers to easily package their apps and put them on the Chrome Web Store. Google could go even further, adding Chromebooks as another supported device in Google Play so you could easily install any Android app on a Chromebook like you'd install it on a smartphone or tablet.
We’ll probably need unofficial tools like chromeos-apk for a while. It’s unlikely we’ll see every Android app appear in the Chrome Web Store any time soon. Chrome OS users may have to use tools like chromeos-apk to package up apps like Skype; Microsoft probably doesn’t want Skype running on Chromebooks, as they like using it as a cudgel against Chrome OS in their “Scroogled” campaign and other ads.
Check out /r/chromeapks on Reddit for more discussion of this tool, including whether specific apps work! We’ll hopefully see the tool continue to improve, bringing more software to Chrome OS—though you have to wonder what this means for the future of Chrome and its offline “Chrome apps.”
For comprehensive coverage of the Android ecosystem, visit Greenbot.com.