Use android mobile apps on Desktop using Chrome

Recently, Google made the first batch of Android mobile apps available for ChromeIt was only a matter of time before some clever users gave that power to everyone. Here’s how to install (nearly) any Android app on any operating system. 

Obvious Requirement: This is still eight million kinds of broken and absolutely nothing here comes with a guarantee. In addition to apps that are in no way officially supported, you’re also going to be messing around with low-level stuff in Chrome. This is probably not something you should attempt on a work computer, nor should you expect this to be simple or bug-free. This process is the opposite of both those things. You will need Chrome 37+ for the following guide.

To make things simple, we will define a few terms first:

ARC: The App Runtime for Chrome (or ARC) is the piece of software that allows Android mobile apps to run in ChromeBy making a modified version of the Android runtime for Chrome, Google can allow developers to add support for Chrome without rebuilding their apps from the ground up.

ARChon Custom Runtime: ARC is officially only designed for Chrome OS at the moment. To get around this, developer vladikoff created the ARChon Custom Runtime, which not only allows Windows, OS X, and Linux to run Android apps, but also removes the limit on how many can be run.

Google Play Services: In the context of this article, we’ll be talking about apps that may or may not be supported in Chrome based on whether or not they include functionality from Google Play Services. Think of them as plugins that Google gives to developers for their apps.

Unpacked Extension: For the purposes of Android mobile apps, we’re going to use unpacked extensions. They function the same as extensions, but are not wrapped up in a single file. These are folders that contain all the files for an extension (or, in this case, Android APK). Extensions normally come from the Chrome Web Store or prepackaged in a .CRX file.

Step 1: Install the ARChon Runtime:

So instead of a Genymotion-like situation where you have a whole Android phone running on your computer, here you can launch Android apps from the Chrome launcher. Chrome OS uses a specialized runtime that allows Android mobile apps to run natively inside it. In layman’s terms, Chrome OS is using the same type of engine that Android uses to run software directly.


The methods in the rest of this article will run alternative apps by spoofing the signed key on those apps, but if you want to run any app you’d like, download ARChon. While you can technically run Android mobile apps in Chrome OS, you’re currently limited to one of four apps. This is necessary to run Android apps in Windows, OS X, and Linux. To begin, we’ll need to download the ARChon Custom Runtime. Here’s how:
  • Download the ARChon runtime here.
  • Unzip the archive.
  • Open your extensions page in Chrome by going to Menu > More Tools > Extensions
  • Enable Developer mode in the top right corner, if it is not already enabled.
  • Select “Load unpacked extension.”
  • Choose the folder containing the ARChon runtime you unzipped earlier.
The ARChon runtime will now be running as an extension in Chrome. You may see a couple warnings like the following on the extensions page. However, these are normal and shouldn’t affect your ability to run Android mobile apps.

Next, you’ll need some Android mobile apps to run. This is a little complicated, since Android APKs are not properly packaged for ChromeHowever, with a little elbow grease (or some help from your friendly neighborhood internet), you can get some of them to launch.


Step 2: Install Existing Android Mobile Apps
The quickest, most dead-simple way to get some working Android apps is to find some online. While most of those will probably remain out of your reach due to incompatibility issues, we’ll also look at how to (try to) create your own. Forums like this subreddit are already working on getting some functional. However, this is a far cry from the 1.3 million apps on the Play Store.

Please support developers and don’t download modified versions of paid apps without paying for them. For this reason, it’s unlikely any developer of a free app will be too concerned if you download a pre-modified app to play around with. Distribution of modified apps is, generally speaking, some degree of copyright violation. In practice, there’s little distinction between downloading a pre-modified app, and downloading the regular version and modifying it yourself. However, downloading a modified paid app is piracy. And, while it should go without saying, don’t write a bad review or criticize the developer if an app is broken in Chrome.
Some helpful internet users have created a growing list of apps that work in Chrome. You can find download links in that document, or find more in communities currently working on Chrome APKs. Once you have a .zip file containing one of these modified APKs, here’s how to install it:
  • Unzip the file and place the folder (likely named something like “com.twitter.android“) in a place you can easily find.
  • Open the Extensions page in Chrome.
  • Click “Load unpacked extensions.”
  • Select the folder with the modified APK you downloaded.
If you’re a particular fan of Chrome apps, you might also notice that a shortcut has been added to the Chrome app launcher. Depending on how it was packaged, it may have a benign Android icon and the package name instead of a proper app name. The app will now appear in your list of Chrome extensions.
Step 3 (Optional): Repackage Your Own Android Mobile Apps for Chrome:

For the sake of completeness, we’ll go over how to install the chromeosapk tool, as well as how to convert them manually, should you need to do any extra tweaking. These methods are also under active development, so if you’re reading this later, there may be even easier ways that have been developed to convert them.

Windows:
  • Download the node.js .msi file (not the .exe) from here.
  • Install node.js.
  • In a command prompt, run the following command: npm install chromeosapk -g
That’s it. You now have the chromeosapk tool installed on your machine and can call it from any folder in the command line. You can skip ahead to the section below on how to use it.
OS X/Linux: 
The chromeosapk tool was originally developed for Linux and OS X devices. Here’s how to install it there:
  • In a terminal, run the following command: sudo apt-get install npm
  • (Ubuntu only): Run the following command: sudo apt-get install lib32stdc++6
  • Download node.js.
  • Unzip the tar.gz file you downloaded from the above link.
  • Per the README file, open a terminal to the unzipped folder containing node.js. And run the following commands in order:
           ./configure
           make
           make install
  • Run the command: sudo npm install chromeosapk -g
  • To make sure you‘re updated to the latest version (now or in the future), run:           sudo npm install -g chromeos-apk@latest
How to Use the Chromeosapk Tool

Many file managers and backup utilities like ES File Explorer and Titanium Backup can also pull APKs on your device. If you’re trying to convert a free app, you can use this tool to pull an APK directly from the Play Store. You now have the chromeosapk tool installed on your machine. You can also use this tool to get an APK from an app installed on your phone.

Once you have your APK, it’s super simple to create a Chrome-friendly version. Open a command prompt or terminal in the folder where you have the APK stored, then do the following:
  • Run the following command: chromeosapk [NAME OF APK] Example: chromeosapk com.evernote.apk
  • If prompted, enter the package name of the app. This can usually be found in the URL of the Play Store listing. For example, in this URL, the portion after “?id=” is the package name. In this case, “com.evernote“.
Namely, open your extensions page, click “Load unpacked extension,” and choose the folder you just created. You now have a modified APK, ready for Chrome! You can install it using the same instructions in Step 2 earlier in this post. It won’t remove the key (which allows you to run more than one app at once), nor does it fix the app icon. At the time of this writing, the chromeosapk tool still only gets the app working.
Another Way: Convert APKs Manually:

If you can’t (or don’t want to) use the command line utility to modify APKs for Chrome usage, you can repackage them yourself. You’ll also need an APK for the app in question, so use the methods described in the section above to get them. You’ll still need to download chromeosapk from Github here. Then, follow these steps:
  • There is a folder named “_template” inside the chromeosapk tool you downloaded. Make a copy of this somewhere else (preferably near the APK you downloaded).
  • Copy the APK into “_template > Vendor > chromium > crx“. There should be a README file in the correct folder that says “APK goes here.” in the correct folder.
  • Rename the “_template” folder to the package name. The package name can usually be found in the Play Store listing URL after “?id=”.
  • Modify the “manifest.json” file in the main folder of the package. This is considerably easier to do with an app like this.
  1. Add the app’s package name (like “com.pandora.android“) to the “package name” field.
  2. Add the app’s regular name (like “Pandora”) to the “name” field.
  3. Delete the entry named “key”, which will have a very long, seemingly random string for a value.
  4. Save the modified JSON file as “manifest.json” and replace the existing version with the new, edited one.
  • Download the app icon from Play Store.
  1. On a Play Store listing page like this one, right-click the icon image.
  2. In the URL bar, change “w300-rw” to “w128”. Hit enter.
  3. Right-click the new image and save it as “icon.png” in the main folder of the modified template folder.
Congratulations! You have just manually modified an APK to run in Chrome. Time will tell if Android mobile apps can or will be targeted for desktop use, but for now the floodgates are open to tinkerers if you really want to try them out. The entire process isn’t terribly complicated, it’s just time consuming if you’re altering each app manually.

You may also like...