问题
Does anybody know how to completely disable jack while compiling AOSP (Master)?
I've always had problems with jack, so I've just always turned it off by adding ANDROID_COMPILE_WITH_JACK := false
in BoardConfig.mk (when compiling CyanogenMod).
I'm now compiling aosp and it just seems to ignore this command.
Note: I'm not really trying to solve any jack related issues I have, I'm trying to turn it off.
回答1:
I would recommend to use AOSP tag to build instead of master branch. For example, latest released Marshmallow is android-6.0.1_r43 tag.
So let's look at clear_vars.mk which is responsible for default values: https://android.googlesource.com/platform/build/+/android-6.0.1_r43/core/clear_vars.mk#110
LOCAL_JACK_ENABLED:=$(DEFAULT_JACK_ENABLED) # '' (ie disabled), disabled, full, incremental
So you either have to override LOCAL_JACK_ENABLED
per module in Android.mk or define global default value with DEFAULT_JACK_ENABLED
variable.
P.S. It's better to ask such questions on Google Groups: https://groups.google.com/forum/#!forum/android-building
回答2:
You can disable the JACK without to change any code.
make ANDROID_COMPILE_WITH_JACK:=false
Just do it when making the entire Android Project.
The magic is in build/make/combo/javac.mk
:
ifndef ANDROID_COMPILE_WITH_JACK
# Defines if compilation with jack is enabled by default.
ANDROID_COMPILE_WITH_JACK := true
endif
And build/make/core/config.mk
:
ifeq ($(ANDROID_COMPILE_WITH_JACK),true)
DEFAULT_JACK_ENABLED:=full
else
DEFAULT_JACK_ENABLED:=
endif
And build/make/core/clear_vars.mk
:
LOCAL_JACK_ENABLED:=DEFAULT_JACK_ENABLED
It also indicates why your modification in a local module is in vain.
来源:https://stackoverflow.com/questions/36680397/disabling-jack-in-android-compilation