使用 Jack 和 Jill 有什么好处?

What are the advantages of using Jack and Jill?

在宣布 Android N 后,Google 正式发布 Jack 工具链 Android Studios 2.1。

杰克的主要优点(因此page)是:

Completely open source

Available in AOSP; partners are welcome to contribute.

Speeds compilation time

Jack has specific supports to reduce compilation time: pre-dexing, incremental compilation and a Jack compilation server.

Handles shrinking, obfuscation, repackaging and multidex

Using a separate package such as ProGuard is no longer necessary.

但不支持注释处理、代码编织(例如 aspectj)、字节码操作(这对我来说非常重要)。

同时加快编译时间对我来说并不明智,我创建了一个带有少量依赖项的示例项目,在 jack 和默认编译器中,编译和构建时间不到 10-15 秒。

那我为什么要迁移到 Jack?

现在使用 Android Gradle 插件版本 2.2.0-alpha1 或更高版本,默认支持注释处理。

也由于这个issue转换API,对字节码编织很有用,以后会支持。