Many here misunderstand how the virtual machine runs much of the code of Android but should be considered distinct from the underlying OS. Google does not require the use of Linux as the underlying kernel, but does specify services that the chosen OS must provide. So, BlackBerry could have taken the more costly route using QNX Neutrino to develop their Google Android implementation instead SE Linux.