Shashlik - a Tasty New Android Simulator

Although the Linux kernel forms the beating heart of the Android operating system, it's still a very different platform from most distros. In fact, beyond the kernel, most of the libraries, services and applications are completely different. While there are hundreds of different Linux distros out there, they all share components from the GNU project. Android, on the other hand, has taken a completely different route, tailored to the requirements of mobile devices.

As a result, it's not been possible to run Android apps natively on GNU Linux systems without using a virtual machine. Obviously running a VM and the complete Android stack adds a lot of overhead, and as a result, Android apps tend to run much slower. This is bad news for developers, who must run their apps thousands of times over during development and testing, and although it is possible to run tests through a device via a USB connection, it's still clumsy.

Shashlik is a new application launcher that allows you to run Android apps on a GNU/Linux operating system. It does this by simulating parts of the Android stack, and using as much of the native GNU/Linux platform as possible. The result is less overhead and faster running apps. This is good news for developers, and makes it realistic for end users to enjoy Android Apps on their Linux devices.

But while it is a boon for developers, it's not a complete replacement. Shashlik is a good simulation for an Android environment, but testing should be done in an environment that closely matches the production environment. In other words, you'll still need to test your apps on a target device, but you may find that Shashlik speeds up unit testing during development.

It's still a very young project, but the source has been released on Github at https://github.com/shashlik/shashlik. Before it's ready for mainstream consumption, a lot of testing and refinement will be necessary. Then it will need to be bundled up for easy installation via package managers.

While it's still early days, it does open up some exciting possibilities. For instance, Ubuntu phones are entering the marketplace now, and other GNU/Linux phones are in the works too. With shashlik, it may be possible to open these platforms to the rich library of Android apps on Google Play and other Android app stores.

This is clearly a project with a lot of potential. The core developer will be releasing more information in an Akademy talk (Akademy is the annual world summit for KDE). It's a good time for interested developers to jump aboard and help bring this tool to the masses!

Load Disqus comments