At its core, Android is just Linux. But Android provides a runtime and various other libraries that applications depend on, so you can’t just install Android apps on Linux and expect them to work. Open-source project Shashlik is attempting to bridge the gap, and now offers a preview release that can run many Android applications on Linux today.
Shashlik runs Android on Linux
Essentially, Shashlik runs Android in the background on your Linux system. (Shashlik developers are working on stripping down Android as much as possible.) OpenGL and graphics code are rendered directly on your Linux system for speed, but Shashlik provides an Android activity manager, daemons, and intents so Android apps will work properly.
But Shashlik isn’t just an emulator—it aims to provide a more native experience. When you install an Android app, Shashlik will extract its icon and create a menu entry so you can launch that Android app just like you’d launch any other Linux desktop app. All the Android emulation happens behind the scenes.
Shashlik has been under development for a while, but it just recently offered a preview release. Currently, you can download version 0.9.3. Packages are available for both Ubuntu and Arch Linux. They’ve only been tested on KDE’s Plasma 5 desktop so far, so you may want to use Kubuntu—the Ubuntu “spin” that includes KDE’s Plasma desktop—to try Shashlik for yourself.
After you install the Shashlik packages on Linux, you’ll need an Android app in APK file form. Shashlik provides a link to a Flappy Bird APK known to work. Find the APK file on your system, select the Open With option, and tell it to open the file with the following command: /opt/shashlik/bin/shashlik-install
Shashlik will then install the app and you’ll be able to launch it from your desktop’s applications menu. Other APKs may or may not work—if an APK has native code, it must support x86 processors and not just ARM processors, or it won’t work.
Of course, there are other projects dedicated to Android app compatibility. Google is working on its own ARC Android runtime in Chrome. On Windows and Mac OS X, BlueStacks provides an Android experience that works pretty well. But Shashlik is open-source, unlike these other projects. It could potentially be integrated into Linux distributions. It works natively on Linux and doesn’t require Chrome.
Ubuntu could even use this as the basis of a project to allow Android apps to run on Ubuntu phones. Canonical has no plans for that yet, but it could give Ubuntu phones a leg up and help their almost nonexistent app ecosystem. Of course, that strategy didn’t work too well for BlackBerry.