
Originally Posted by
Scali
Linux isn't winning on phones, Android is... And mostly because of the reasons he states: Android is a far more 'fixed' target than linux is. You have the standard Dalvik VM environment, with standard runtime libs etc.
A very important point: binary compatibility. People can just download binaries from the Google Play store, and things Just Work(tm). Across different vendors, different versions of the OS, different brands of CPU/GPU, different revisions of the hardware etc. To a certain extent even x86-based Android-devices are supported out-of-the-box, even though the platform was 100% ARM-based until recently.
This is a *very* different environment from your average linux distribution. Even on the exact same hardware you often can't use packages for one distro on the other, or even from a different version of the same distro. Dependency hell, lack of standardized environment etc.
(Yes, even OpenGL on Android is not OpenGL on linux. Android uses OpenGL ES, which is a much more streamlined version without legacy crud, and a much more fixed featureset than the old OpenGL).