Wednesday, 8 April 2015

How to Run Android Apps Inside Chrome on Any Desktop Operating System




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

Obvious Disclaimer: 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.

Glossary

This process is pretty new, so to make things simple, we'll define a few terms first:

ARC: The App Runtime for Chrome (or ARC) is the piece of software that allows Android apps to run in Chrome. In the same way that ART (and the older Dalvik) currently run Android apps in Android itself. By 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: We've discussed what Google Play Services are in the past. As we've explained before, app developers can plug into these APIs to get pre-written functionality. Think of them as plugins that Google gives to developers for their apps. 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.

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

Step One: Install the ARChon Runtime

Chrome OS uses a specialized runtime that allows Android apps to run natively inside it. This means that it's not an emulator or virtualization stack, but a proper runtime. In layman's terms, Chrome OS is using the same type of engine that Android uses to run software directly. 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.

To begin, we'll need to download the ARChon Custom Runtime. This is necessary to run Android apps in Windows, OS X, and Linux. While you can technically run Android apps in Chrome OS, you're currently limited to one of four apps. 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. 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 apps.

Next, you'll need some Android apps to run. This is a little complicated, since Android APKs are not properly packaged for Chrome. However, with a little elbow grease (or some help from your friendly neighborhood internet), you can get some of them to launch. Whether they function properly is an entirely different matter.

Step 2: Install Existing Android Apps

The quickest, most dead-simple way to get some working Android apps is to find some online. 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. 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.

Disclaimer: 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. 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. However, downloading a modified paid app is piracy. Please support developers and don't download modified versions of paid apps without paying for them. And, while it should go without saying, don't write a bad review or criticize the developer if an app is broken in Chrome. You're on your own here.

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.

The app will now appear in your list of Chrome extensions. 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.


No comments:

Post a Comment