14

Google to Move To OpenJDK for Android N

Please follow and like us:

There is a lot of speculation about Googles apparent move to the Open JDK. In this post I want to outline what this means for Android development moving forward.

What is the OpenJDK?

There are two versions of Java, the proprietary version of java distributed by Oracle (who purchased it from Sun Microsystems, the original creators).

There is also an open source version of Java.

In the OpenJDK FAQ you can see that Oracle actually support and contribute to it, as to other companies like IBM, Apple, and yes Google have contributed to it in the past.

So the open source version is well supported by lots of companies and is generally free to use without restrictions compared to the proprietary version of Java.

Whats the problem?

Android provides to developers certain API libraries for Java development. Much of this is developed by Google themselves, but some of it is based on the Java programming language itself, and specifically code from the proprietary version of Java.

Google and Oracle have been battling it out in the courts for years. Oracle sued Google for copyright/patent infringement in 2010 claiming Google had no right to use their Java code from the proprietary version without permission.

What was announced?

Google have apparently decided to move all their codebase over to the openJDK version of Java, at least if you can believe posts like this which seem to confirm it.

At this stage, its all rumours. I would expect official confirmation to show up on Androids official blog but as of the date of this post, nothing has shown up. So bear in mind until we hear it from the horses mouth so to speak it may not end up happening anyway.

A post on a blog saying “google has confirmed it” means nothing until we see an official response from Google, which currently does not seem to be available.

So what does this mean for Android developers if it does happen?

Probably not a lot.

The aim of OpenJDK is to have an open source version of Java than is code compatible with the proprietary version. The project has been going since 2007, is still contributed to by Oracle (owners of the proprietary version) and other companies like IBM, Apple, and many linux distributions like Ubuntu, etc.

Switching over to openJDK makes sense for Google to do to free itself from any problems with the court case with Oracle.

The bottom line is that most of this functionality occurs “behind the curtains” in the Android operating system, so as Android developers, whether google decide to release a new version of the Android using the proprietary version of Java, or the open source one is largely irrelevant.

We write our code accessing the same libraries, and things just work. Of course its going to be a decent chunk of work for Google to get this all working so that we dont have to worry about it, but if anyone has the resources to do it, Google do.

My Opinion?

I believe its largely irrelevant whether the proprietary version of open source version of Java is being used. Java is not going away from Android any time soon. Google have a huge and ongoing history of ensuring that developers of Android apps are able to target old versions of the Android operating system because they know this is essential given that Android device users are much slower to update than their iOS counterparts.

As a result, no matter what, I believe Google will make things “just work” in the new release of Android N which will feature openJDK (if they ultimately confirm this).

What do you need to do as an Android developer?

Absolutely nothing, its business as normal! You dont need to change anything in your development process and it may well be that when Android N arrives you wont have to either.

So fire up Android Studio, and get back to coding!

Cheers

Tim

Please follow and like us:
Tim Buchalka
 

I am an Android app and games developer, and teacher with 30 years of development experience! And I reveal all my knowledge and secrets in my courses! I spent years as a contract software developer working for government departments, and large prestigious companies like Saab, Mitsubishi, and Fujitsu (to name just a few) in a developer/team lead developer capacity. I am skilled in many development languages including Java, C++, C#, and Objective-C to name a few. For the past 10 years I have been self employed, and now focus exclusively on teaching others how to develop apps for an Android platform and other related technologies (like Java for instance). Over 53,000 students have taken my courses and loved them. Click here to view Tim Buchalka’s courses (current and coming soon ones).

Click Here to Leave a Comment Below 14 comments