Android M开始,google默认使用JACK编译器,对于JACK编译器的编译流程下面这篇文章写的很详细:
http://taobaofed.org/blog/2016/05/05/new-compiler-for-android/
这里主要谈一下JACK编译器的配置。
1 JACK编译器三种模式
JACK编译器有三种模式:
LOCAL_JACK_ENABLED:=$(DEFAULT_JACK_ENABLED) # '' (ie disabled), disabled, full, incremental
即分别是disabled,full和incremental
disabled是指关闭JACK编译,使用android old toolchain。
full是指全部编译,即每次编译,都会将所有的code全部编译。
incremental是指增量编译,即只会编译修改的代码。incremental模式默认是关闭的,需要设置。
在官网有如下情况不能使用incremental编译模式:
Incremental compilation is deactivated when shrinking, obfuscation, repackaging or multi-dex legacy is enabled.
2 Android.mk如何设置JACK编译模式
根据上面的介绍,如果是单独的模块,只需要在Android.mk设置LOCAL_JACK_ENABLED为disabled, full, incremental即可。