Serdar Yegulalp
Senior Writer

Android’s Jack and Jill compilers head uphill to developers

news analysis
Dec 5, 20142 mins

Android's new, largely undocumented compilers are still works in progress, but aim to speed up the compilation process

With Android 5.0 Lollipop now winging its way to phones, Google has quietly made changes to Android’s compiler tools as well. New for developers is a pair of compilers, code-named Jack and Jill, designed to speed up Android app creation.

Eric LaFortune, technical director of Saikoa, which creates software for optimizing and obfuscating Java and Android apps, found Jack and Jill in version 21.1 of the Android SDK Build Tools, released in October. According to LaFortune, Jack and Jill are part of “a new compiler toolchain to transform Java code into Dalvik bytecode,” in part using “a new intermediate representation called Jayce.”

Java source code is currently compiled for Android apps by way of two build tools: the Javac compiler, which yields Java bytecode, and the Dex tool, which converts the Java code into the Android-specific Dalvik bytecode. With Jack, both steps are combined in one, using the Java compiler provided by the Eclipse Foundation to do its work.

Jill works as a precompiler to convert class and runtime libraries into Jayce bytecode. Jack then uses that bytecode as part of its own compilation process.

In his testing, LaFortune discovered that the new compilers don’t yet support the full range of options available to the current generation of Android compilers — a sign that they’re still works in progress. Jack and Jill don’t support Java 8 yet, either, although LaFortune found the compilers do seem aware of 1.8-level features such as closures, but simply choose not to implement them.

Android’s Java-based underpinnings are getting a major reworking. Most important, for both Google and its developers, is the switch from the Dalvik virtual machine to the Art runtime. Art provides better performance — typically around twice what Dalvik provides — without placing an additional burden on the developer. Another reason for the shift to Art may be to reduce dependency on Dalvik, since Google’s creation of that Java-compatible VM inspired a lawsuit by Oracle that is still grinding its way through the courts.

Jack and Jill don’t directly affect how Art since Art compiles Dalvik bytecode on its own into native code. That said, the optimizations carried out with Jack and Jill indicate the entirety of Android’s environment, from development toolchain to runtime, is being transformed from the inside out — although not always in plain sight.

Serdar Yegulalp

Serdar Yegulalp is a senior writer at InfoWorld. A veteran technology journalist, Serdar has been writing about computers, operating systems, databases, programming, and other information technology topics for 30 years. Before joining InfoWorld in 2013, Serdar wrote for Windows Magazine, InformationWeek, Byte, and a slew of other publications. At InfoWorld, Serdar has covered software development, devops, containerization, machine learning, and artificial intelligence, winning several B2B journalism awards including a 2024 Neal Award and a 2025 Azbee Award for best instructional content and best how-to article, respectively. He currently focuses on software development tools and technologies and major programming languages including Python, Rust, Go, Zig, and Wasm. Tune into his weekly Dev with Serdar videos for programming tips and techniques and close looks at programming libraries and tools.

More from this author