Отключение JACK в компиляции Android
Кто-нибудь знает, как полностью отключить джек при компиляции AOSP (Master)?
У меня всегда были проблемы с домкратом, поэтому я всегда выключал его, добавляя ANDROID_COMPILE_WITH_JACK := false
в BoardConfig.mk (при компиляции CyanogenMod). Сейчас я компилирую aosp, и кажется, что эта команда игнорируется.
Примечание: я на самом деле не пытаюсь решить какие-либо проблемы, связанные с джеком, я пытаюсь отключить его.
2 ответа
Вы можете отключить JACK без изменения какого-либо кода.
make ANDROID_COMPILE_WITH_JACK:=false
Просто сделайте это при создании всего Android Project.
Магия в 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
А также build/make/core/config.mk
:
ifeq ($(ANDROID_COMPILE_WITH_JACK),true)
DEFAULT_JACK_ENABLED:=full
else
DEFAULT_JACK_ENABLED:=
endif
А также build/make/core/clear_vars.mk
:
LOCAL_JACK_ENABLED:=DEFAULT_JACK_ENABLED
Это также указывает, почему ваша модификация в локальном модуле напрасна.
Я бы порекомендовал использовать тег AOSP для сборки вместо основной ветки. Например, последний выпущенный Marshmallow - это тег android-6.0.1_r43.
Итак, давайте посмотрим на clear_vars.mk, который отвечает за значения по умолчанию: https://android.googlesource.com/platform/build/+/android-6.0.1_r43/core/clear_vars.mk#110
LOCAL_JACK_ENABLED: = $ (DEFAULT_JACK_ENABLED) # '' (т.е. отключено), отключено, полное, инкрементное
Так что вы либо должны переопределить LOCAL_JACK_ENABLED
для каждого модуля в Android.mk или определить глобальное значение по умолчанию с DEFAULT_JACK_ENABLED
переменная.
PS Лучше задавать такие вопросы в группах Google: https://groups.google.com/forum/