AOSP (マスター) のコンパイル中にジャックを完全に無効にする方法を知っている人はいますか?
私は常にjackに問題を抱えていたので、 BoardConfig.mk (CyanogenMod のコンパイル時) を追加ANDROID_COMPILE_WITH_JACK := false
して常にオフにしてきました。現在、aosp をコンパイルしていますが、このコマンドは無視されているようです。
注:ジャック関連の問題を解決しようとしているわけではなく、オフにしようとしています。
AOSP (マスター) のコンパイル中にジャックを完全に無効にする方法を知っている人はいますか?
私は常にjackに問題を抱えていたので、 BoardConfig.mk (CyanogenMod のコンパイル時) を追加ANDROID_COMPILE_WITH_JACK := false
して常にオフにしてきました。現在、aosp をコンパイルしていますが、このコマンドは無視されているようです。
注:ジャック関連の問題を解決しようとしているわけではなく、オフにしようとしています。
コードを変更せずに JACK を無効にすることができます。
make ANDROID_COMPILE_WITH_JACK:=false
Android プロジェクト全体を作成するときに行うだけです。
魔法は次の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 タグを使用してビルドすることをお勧めします。たとえば、最新リリースのマシュマロは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/#!forum/android-building