Google offers new Android compilers and SDKs
Share on Twitter.
Get the most reliable SMTP service for your business. You wished you got it sooner!
December 4, 2014
Google is offering new Android compilers. The compilers are in the Android SDK 21.1 and are currently
called jack.jar and jill.jar.
They are not enabled by default, but require the directive “useJack true” in the configuration file
for the make the build tool work.
Presuming an Android application is written in Java, the normal build process is compilation
into Java bytecode (.class files) using the Oracle javac compiler, and then compilation of the bytecode
into a .dex (Dalvik Executable) using dx.jar, part of the Android SDK.
Although Android applications are usually written in Java, they are not executed by a JVM (Java
Virtual Machine), but by Google’s Dalvik VM, or in more recent versions, a runtime called ART (Android
If useJack is enabled, jack.jar compiles Java code to .dex format, bypassing Oracle’s compiler.
It uses an intermediate bytecode format called .jayce.
What about compatibility with binary library code in .class files? This is where jill.jar
comes in, compiling .class files into another .jayce so that Jack can compile them into the .dex
What is the purpose of the new compilers? Google has said nothing so this is open to speculation;
and since this is preview material, they could be dropped entirely.
Maybe Google sees an advantage in optimizing the compiling chain for Android by using its
“The Jack and Jill compilers will streamline the Android build process and improve build
performance,” says Google.
What about future compatibility with Oracle Java? Jack and Jill are not compatible with Java
8, released in March of this year, Google noted.
If they become the official Android compilers, it could signify increased divergence between
Oracle Java and Android Java.
Get the most dependable SMTP server for your company. You will congratulate yourself!
Share on Twitter.