Dalvik: How Google Routed Around Sun’s IP-Based Licensing Restrictions on Java ME

Stefano Mazzocchi on how Google avoided Sun’s Java ME licensing restrictions: they’ve written their own virtual machine, Dalvik:

But Android’s programs are written in Java, using Java-oriented IDEs (it also comes with an Eclipse plugin)… it just doesn’t compile the Java code into Java bytecode but (oops, Sun didn’t see this one coming) into Dalvik bytecode.

So, Android uses the syntax of the Java platform (the Java “language”, if you wish, which is enough to make Java programmers feel at home and IDEs to support the editing smoothly) and the Java SE class library but not the Java bytecode or the Java virtual machine to execute it on the phone (and, note, Android’s implementation of the Java SE class library is, indeed, Apache Harmony’s!)

(Thanks to Nate Silva.)

Tuesday, 13 November 2007