3

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.

frogatto
  • 28,539
  • 11
  • 83
  • 129
Carlyle Felix
  • 31
  • 1
  • 1
  • 4

2 Answers2

7

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.

Yan QiDong
  • 3,696
  • 1
  • 24
  • 25
5

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

Oleksandr
  • 3,761
  • 8
  • 50
  • 80