Force building ART from source for AOSP products.

This is a workaround for the problem that we cannot control from make
which APEX gets picked for deapexing.

Cherry-picked from http://ag/15107826.

Test: env TARGET_PRODUCT=aosp_cf_x86_64_phone \
          SOONG_CONFIG_art_module_source_build=false \
        build/soong/soong_ui.bash \
        --dumpvar-mode SOONG_CONFIG_art_module_source_build
  This shows true
Test: env TARGET_PRODUCT=cf_x86_64_phone \
          SOONG_CONFIG_art_module_source_build=false \
        build/soong/soong_ui.bash \
        --dumpvar-mode SOONG_CONFIG_art_module_source_build
  This shows false in internal
Bug: 192006406
Bug: 172480615
Change-Id: I8990b726affeb08eabf130d20be45129a7c1c58d
Merged-In: I8990b726affeb08eabf130d20be45129a7c1c58d
diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk
index 6c39b2b..04a055d 100644
--- a/core/android_soong_config_vars.mk
+++ b/core/android_soong_config_vars.mk
@@ -51,6 +51,12 @@
   # Fuchsia picks out ART internal packages that aren't available in the
   # prebuilt.
   SOONG_CONFIG_art_module_source_build := true
+else ifeq (,$(filter com.google.android.art,$(PRODUCT_PACKAGES)))
+  # TODO(b/192006406): There is currently no good way to control which prebuilt
+  # APEX (com.google.android.art or com.android.art) gets picked for deapexing
+  # to provide dex jars for hiddenapi and dexpreopting. Instead the AOSP APEX is
+  # completely disabled, and we build from source for AOSP products.
+  SOONG_CONFIG_art_module_source_build := true
 else
   # This sets the default for building ART APEXes from source rather than
   # prebuilts (in packages/modules/ArtPrebuilt and prebuilt/module_sdk/art) in