In an interesting turn of events this Friday evening, the beginnings of support for the Java programming language has arrived for Fuchsia. Where things get interesting is that this change was found in Android’s code, not Fuchsia’s.
We’ve long known that Android, Google’s 10 year old OS for phones and tablets, and Fuchsia, Google’s in-development OS for just about everything, would have a special relationship. This will be especially true if Google intends for Fuchsia to replace Android within 5 years.
Another aspect of that relationship has come forward in a new commit found today, not in any Fuchsia code, but in Android’s Gerrit source code management. The commit shows that Google has been working privately on Fuchsia compatibility with Android’s Libcore, which they are now making public.
Libcore is the basis of Android’s usage of Java. In particular, Fuchsia compatibility has been added for a significant portion of Libcore called ‘ojluni’, which stands for OpenJDK Lang, Util, Net, IO. These are the four essential pieces of implementing Java using the open source OpenJDK. At the bare minimum, this indicates a desire for Fuchsia to eventually run Java code.
Beyond that, the commit itself doesn’t reveal any interesting details, as it simply adjusts portions of the code that need to work differently for Fuchsia and Zircon than on Linux and Android. There are also no matching changes yet in Fuchsia’s code to indicate its exact purpose.
The easiest thing to speculate is that this is a continuation of work found earlier this year to bring the Android Runtime to Fuchsia. It’s hard to imagine this being possible without Libcore handling the Java behind the scenes. On the other hand, this could simply be part of an effort to make one of the world’s most commonly used languages run on Google’s newest operating system.
Whatever the case may be, know that we’re always keeping a close eye on Fuchsia’s development as it progresses.