Taking Matters into Your Own Hands – Android Apps on Chrome

Chrome OS Revisited

Just over nine months ago, I wrote this post outlining why I had purchased a Chromebook. In the time since, I’ve lived quite comfortably without a home Windows environment. Just to recap:

  • I can browse the web, email, shop, bank and pay bills online.
  • Google Docs, Sheets and Slides provide me with word processing, spreadsheet and presentation software respectively.
  • I have 100Gb of Google Drive storage (and I can now add OneDrive and Dropbox into the mix as well).
  • Photos / Google+ provides fantastic photo backup and sharing service, along with lightweight editing facilities.
  • All my music is in the cloud with Google Music (the free storage limit was recently extended from 20,000 to 50,000 songs!).
Hello again!

Hello again!

My HP11 Chromebook is light (just over a kilo), fast (7 second boot) and cheap (£180 last year!), with other similarly specced models available in the same price range. For those things that my Chromebook can’t do, I have my trusty Nexus 4 phone. The Play Store has a plethora of apps to keep me happy, more so than the Chrome Web Store.

And yet… I’d like my Chromebook to do those things for me. Chrome is great, but I want it to do more…

Android Apps on Chrome OS

At Google I/O last year, there was a lot of excitement about the upcoming “Android L” release (which we now know and love as “Lollipop”), including integration with Chrome OS. One showcased feature was Android apps running on a Chromebook – notably Vine and Evernote.

Apps! Apps! Apps!

Apps! Apps! Apps!

I was pretty excited about this – complimenting the Chrome Web Store with the Play Store would add a lot of new functionality to the humble Chromebook – literally thousands and thousands of new apps to really make your Chromebook exactly the way you want it. But it didn’t pan out like that.

I don’t know if I was alone in assuming that apps would “just work”, but it turns out each app has to be ported across to the new platform (i.e. from a touch based phone/tablet to a laptop form factor). This may involve some rewrite on the part of the app developer. Admittedly, some ported apps do “just work”, but I’ll come to that later.

Introducing Twerk

Not long after the first trickle of Android apps for Chrome OS came out, ways and means surfaced on how it was possible to port apps across to Chrome OS. They were far too experimental for my liking, and lead to a complete wipe of the machine too. It was something I decided to live without.

And the Twerk came along. Simply put, it allows me to package up and Android app as a Chrome Extension with a few button clicks and no major surgery involved. I’ve been able to package up and install a few apps that I like, enhancing the functionality that I already have (especially the offline apps). So far, I have ported:

Skype. On a Chromebook. Note the nice little icon in the shelf too!

Skype. On a Chromebook. Note the nice little icon on the shelf too!

Not just for Chrome OS – Android on Windows, Linux and Mac!

In reading up on ported apps, I stumbled upon a reddit community outlining what apps had been tested, which have bugs, which work well…etc. They maintain a list here. Along the way, I learned that such functionality is available on Windows, Linux and Mac as long as the Chrome browser is installed.

That’s right – you can run and test Android apps without owning an Android device.

And Now the How

I’m not a magician, so I’m happy to explain how my tricks are done. Before porting any apps, there are two steps to do:

  • Install ARChon Runtime for Chrome
  • Install Twerk

ARChon is a package that allows Chrome to run Android apps. It’s available here – pay attention to which OS version you require. Once downloaded, unpack the zip file and then go to chrome://extensions in the address bar:

Configuring the runtime

Configuring the runtime

Click the checkbox to enable “Developer mode” checkbox, and then click the “Load unpacked extension” button (both shown above). From the popup displayed, select the directory where you unzipped the ARChon zip file to. ARChon is now “installed”.

Alternatively, If you are using Chrome OS, you can simply install the Evernote app – before the Evernote app is installed, the Android Runtime for Chrome (a suitable alternative runtime) is automatically downloaded and installed first.

Twerk is a much smaller download. Both installs here are one-offs.

For each app we wish to port, we must do the following:

  • Obtain APK
  • Create app extension with Twerk
  • Load the new extension in Chrome

Here’s One I Prepared Earlier

So here’s a step by step guide to how I created my Chrome SNES app. It’s an offline app, meaning that I don’t need an internet connection for it to work (which is a sticking point for a lot of people when it comes to Chrome OS).

Firstly, go to the Play Store and browse to find the app you want, then copy the URL in the address bar. Next, go to APK downloader and paste in the URL of the app you just copied. Click to generate the download link, and the download your APK:

Obtaining the APK

Obtaining the APK

Now that you have the APK you need, launch Twerk. Drag and drop your APK file as shown, and configure as you like:

Configuring your app settings

Configuring your app settings

Note the settings I have chosen. Furthermore, clicking on the default package icon allows you to set a new icon – I set mine to something more appropriate that I just downloaded from Google images. Click the button at the bottom to create and save the new Chrome extension – my OCD necessitates that I save all my extensions in a special “Extensions” folder, but that’s just me.

To load your new extension in Chrome, go to chrome://extensions/ again, and click on “Load Unpacked Extension”. This time, select the folder of the extension you have created. Once loaded, you should see the following:

Configuraing the new extension

Configuraing the new extension

Click on “Launch” to launch your newly packaged extension. After the first launch, an icon is created in your app drawer, so there is no need to go back to the Extensions tab each time. Anyhow, the running app initially looks like this:

Loading screen...

Loading screen…

As it’s an offline app, you will be asked to specify a folder where all offline data is stored the first time the app is loaded. Again, my OCD means that I have a separate “AppData” folder where I save all offline application application data.

And then my app is good to go! Here is Super Mario World running natively on my Chromebook (ROMs obtained separately).

25 years ago...

25 years ago…

Go Forth and Experiment!

I’ve ported a handful of apps in the last week. Some work, some don’t. I’m keen to try more emulators, as well as install more offline apps and utilities. I often check in on the reddit list to see what has been tested, and sometimes whole extensions are packages up ready for download.

Chrome demonstrates once more that it is no ordinary browser. By extension, my Chromebook is no ordinary computer – fast, functional and cheap! Missing Windows? Not me.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s