I read today a bit about unikernels, from what I understand it is an operating system that runs only one application.

I would like to know if it's possible to run a specific android application in an unikernel on raspberry pi.

  • Why wouldn't it be possible?
    – goldilocks
    Jun 15, 2016 at 11:04

1 Answer 1


I'll expand a bit on my initial comment on the question by dividing this into two distinct approaches:

  1. Implementing a unikernal which runs an application that mimics or duplicates exactly, and would be interoperable with, an existing Android application, is almost certainly possible. A caveat here is that if the app depends on network connectivity to a proprietary service, that is a major and possibly insurmountable obstacle.

  2. Implementing a unikernel which actually runs an existing Android app is probably possible, if you need to deal with the caveat just mentioned, or want to keep updates of the app in step. However, it will not save you any labour, since implementing such a unikernel environment will be much more work than implementing one that duplicates the functionality of the app (this approach likely stretches the definition of "unikernel" a bit, and would be a task much better suited to a normal OS).

By "much more work", I mean something on the scale of renting some space, hiring a team of five or ten software engineers, and being prepared to pay them full time for a year or so. That may be optimistic.

However, I'd at best qualify as "junior code monkey" on such a project, so for a more informed opinion you may want to dig deeper, as in, do some more research about the requirements and find the right place to look for more informed opinions. I think my guesstimate is reasonably close to the mark, however, so if this sounds like it is way beyond the resources you have at your disposal, it probably is.

  • I see and yes it is part my resources, it was more of an inquiry. I didn't consider keeping the app up to date.i was thinking of the scenario of running a single existing android on a smart TV using raspberry pi
    – Fuseteam
    Jun 15, 2016 at 18:14
  • It's a big job. Programming is a skill and it is often easy to guess where other people stand based on the questions they ask and the way they ask them, so I am not trying to belittle you (not everybody can be a master of everything), but: If this is something you were thinking of as a current project, stop now. If you are interested in bare metal or systems programming, work on your C, read appropriate textbooks, etc. Like any form of engineering (or, say, surgery, or mountain climbing), it can take the smartest of people many years applying themselves full time to achieve difficult goals.
    – goldilocks
    Jun 15, 2016 at 18:29
  • Yes I understood that from your answer, it's an entire albeit minimal operating system of course it's a big job, like I said it was a simple inquiry nothing more nothing less, thanks for detailed answer and your considerate advice.i really appreciate it
    – Fuseteam
    Jun 15, 2016 at 18:33
  • Oh just for the record I mean android application not android nevertheless I'll heed your advice
    – Fuseteam
    Jun 15, 2016 at 21:43
  • I understood (I refer to an "Android application" above). This is mostly why I believe it would be much simpler to create a unikernel running an application that "mimics or duplicates" an app than a unikernel within which you could run the exact same app made from the source as used on an Android device. Those apps are relatively easy to create (I've done a bit of Android programming, and am comfortable with Java) because they rely on a lot of pre-existing infrastructure that is much more complex than the app itself -- so creating a compatible environment of that sort would be a monster.
    – goldilocks
    Jun 15, 2016 at 22:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.