Yes, Android is a Linux phone. But, none of the apps are. Read more for a simple guide about how Android software works… and why it doesn’t work the way most believe.
Myth #1 – Android Lets You Run Linux Software.
While Android’s operating system is powered by Linux, all third-party applications run on a modified form of Java, called Dalvik.
Dalvik is essentially a fine-tuned version of Java, which Google made to avoid licensing fees. Dalvik is relatively identical to a desktop version of Java. In the future, Google plans to extend Dalvik with additional APIs that make it better for phones than Java.
So, to be clear, you cannot take your favorite Linux apps and just port them to Android.
Myth #2 – Enabling unsigned code lets you run Linux apps.
Like iPhone, applications have to play by Google’s rules. Even when you tell an Android phone to run Dalvik applications not approved by Google, there is no option to enable running Linux applications.
Myth #3 – I can just “jailbreak” my G1 to run Linux apps.
Sorry, no such method has been developed to date. While hackers have cooked custom versions of Android to run on select HTC devices… nobody has accomplished that on the G1. Worse, even bypassing any code checks… still wouldn’t get past the fact that Android doesn’t want to run Linux applications on the screen.
Android’s source code would have to be modified to permit running Linux applications… an even larger hurdle since the screen is controlled by Dalvik. It would require advanced Java and Linux programming to accomplish such a task. Even then, the system is running a pared-down version of Linux, designed to run nothing but Java/Dalvik apps.
Still, it’s not impossible for the future… there is enough code sitting in the SDK to pull it off. However, it would probably be about as buggy as the first jailbroken iPhone applications… that’s what not having a full SDK will do to a program.
As noted in the article update, some have called into question the relative ease of modifying Linux apps to run on Android… once some workaround has been developed. However, even if porting Linux applications to Android were easy today (and nobody is saying that at this point)… you still can’t get them to run on the G1 currently.
Myth #4 – Google is just waiting to roll out Linux app support in a few months.
Again, sorry, not true. There are no plans on the table at the OHA to open up Android to Linux apps. Considering mainstream phone makers like Samsung and Motorola haven’t even released first-generation Android phones… the change won’t happen any time soon.
Myth #5 – Google wants to open up Android to Linux.
Google has always existed in a world where Linux played second fiddle to the underlying software. Be it Python-powered Google searches, or Java-powered Dalvik, Google has never appreciated Linux as a runtime.
In fact, the only mainstream application to run in Linux, is Google Earth. And, that program requires a good multi-hour boot camp to learn how to install properly (for a person new to Linux). There aren’t any pre-packaged, double-click-to-install-versions.
(Google also does offer Picasa for Linux, however, it is the Windows version pre-packaged in a self-contained WINE environment, rather than a true Linux port).
Google doesn’t appear to want to embrace native Linux applications, but rather, spend the next several years developing Dalvik into an application platform of its own… complete with all the desktop services of comparable, modern, computing environments (Cocoa/Obj-C and .NET/C#).
Finally, opening up Android to Linux takes away the selectivity. While someone could answer Dalvik’s call with their own bytecode… opening up to Linux would put Android in a suicidal position. There is nothing stopping Android from being code-compatible with other mobile forms of Linux. That would take away any benefit from being tied to the OHA, and tied to Google. Then each manufacture would pick-and-mix their own mobile Linux distribution.
While that may be good for consumers… it wouldn’t be good for Google. And, thus, Linux will remain a background traffic cop, flowing only to Dalvik apps. Google seems to like the idea… it’s very profitable for them.
Update: To clarify a few things… we want to thank the many people that have posted in-depth research from the Android SDK.
Yes, Google’s applications do run on Linux. However, much of the technical knowledge needed to make Linux applications run properly is not disclosed in the SDK. Of course, that is because Google prohibits developers from running Linux applications on the G1, so that makes perfect sense.
However, our reporting remains the same. The only thing that comes into question, is the ease at which Linux-on-Android, once hacked to work… can be tapped to its full potential. We noted this in Myth 3 as something of relative dispute in the hacking community.