ART: Create phony package for ART artifacts

Create art-runtime and art-tools phony packages that depend on the
runtime packages. This simplifies the configuration of products.

Bug: 62087184
Test: m
Test: Device boots
Change-Id: I25b63d51ecd73a8f5864d2f16e0a632555af5076
diff --git a/Android.mk b/Android.mk
index c0935a7..7de07a8 100644
--- a/Android.mk
+++ b/Android.mk
@@ -351,6 +351,47 @@
 
 endif  # art_test_bother
 
+#######################
+# Fake packages for ART
+
+# The art-runtime package depends on the core ART libraries and binaries. It exists so we can
+# manipulate the set of things shipped, e.g., add debug versions and so on.
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := art-runtime
+
+# Base requirements.
+LOCAL_REQUIRED_MODULES := \
+    dalvikvm \
+    dex2oat \
+    dexoptanalyzer \
+    libart \
+    libart-compiler \
+    libopenjdkjvm \
+    libopenjdkjvmti \
+    patchoat \
+    profman \
+
+# For nosy apps, we provide a fake library that avoids namespace issues and gives some warnings.
+LOCAL_REQUIRED_MODULES += libart_fake
+
+include $(BUILD_PHONY_PACKAGE)
+
+# The art-tools package depends on helpers and tools that are useful for developers and on-device
+# investigations.
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := art-tools
+LOCAL_REQUIRED_MODULES := \
+    ahat \
+    dexdiag \
+    dexdump \
+    dexlist \
+    hprof-conv \
+    oatdump \
+
+include $(BUILD_PHONY_PACKAGE)
+
 ####################################################################################################
 # Fake packages to ensure generation of libopenjdkd when one builds with mm/mmm/mmma.
 #