Stop all these merge conflicts.

Test: mma -j64
Change-Id: I319198af32adf1fef180c5c2c22ba4b360fa7609
diff --git a/Android.bp b/Android.bp
index 1e930dc..7aef46b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,55 +1,3 @@
-// This is an autogenerated file, do not edit.
 subdirs = [
-    "audio/2.0",
-    "audio/2.0/default",
-    "audio/common/2.0",
-    "audio/effect/2.0",
-    "benchmarks/msgq/1.0",
-    "biometrics/fingerprint/2.1",
-    "bluetooth/1.0",
-    "boot/1.0",
-    "broadcastradio/1.0",
-    "example/extension/light/2.0",
-    "gnss/1.0",
-    "graphics/allocator/2.0",
-    "graphics/allocator/2.0/default",
-    "graphics/composer/2.1",
-    "graphics/composer/2.1/default",
-    "graphics/mapper/2.0",
-    "graphics/mapper/2.0/default",
-    "light/2.0",
-    "memtrack/1.0",
-    "memtrack/1.0/default",
-    "nfc/1.0",
-    "nfc/1.0/default",
-    "nfc/1.0/vts/functional",
-    "power/1.0",
-    "power/1.0/default",
-    "radio/1.0",
-    "sensors/1.0",
-    "sensors/1.0/default",
-    "soundtrigger/2.0",
-    "tests/bar/1.0",
-    "tests/bar/1.0/default",
-    "tests/baz/1.0",
-    "tests/expression/1.0",
-    "tests/foo/1.0",
-    "tests/foo/1.0/default",
-    "tests/foo/1.0/default/lib",
-    "tests/libhwbinder/1.0",
-    "tests/libhwbinder/1.0/default",
-    "tests/msgq/1.0",
-    "tests/pointer/1.0",
-    "tests/pointer/1.0/default",
-    "tests/pointer/1.0/default/lib",
-    "thermal/1.0",
-    "thermal/1.0/default",
-    "tv/input/1.0",
-    "vehicle/2.0",
-    "vibrator/1.0",
-    "vibrator/1.0/default",
-    "vr/1.0",
-    "vr/1.0/default",
-    "wifi/1.0",
-    "wifi/supplicant/1.0",
+    "*"
 ]
diff --git a/audio/2.0/Android.bp b/audio/2.0/Android.bp
index 5edb042..2fd2d67 100644
--- a/audio/2.0/Android.bp
+++ b/audio/2.0/Android.bp
@@ -93,4 +93,9 @@
         "android.hardware.audio.common@2.0",
         "android.hardware.audio.effect@2.0",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/audio/2.0/Android.mk b/audio/2.0/Android.mk
new file mode 100644
index 0000000..8557ea2
--- /dev/null
+++ b/audio/2.0/Android.mk
@@ -0,0 +1,44 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.audio@2.0-java-constants
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+#
+GEN := $(intermediates)/android/hardware/audio/2.0/Constants.java
+$(GEN): $(HIDL)
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/IDevice.hal
+$(GEN): $(LOCAL_PATH)/IDevicesFactory.hal
+$(GEN): $(LOCAL_PATH)/IPrimaryDevice.hal
+$(GEN): $(LOCAL_PATH)/IStream.hal
+$(GEN): $(LOCAL_PATH)/IStreamIn.hal
+$(GEN): $(LOCAL_PATH)/IStreamOut.hal
+$(GEN): $(LOCAL_PATH)/IStreamOutCallback.hal
+
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava-constants -randroid.hardware:hardware/interfaces \
+        android.hardware.audio@2.0
+
+$(GEN):
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+# Avoid dependency cycle of framework.jar -> this-library -> framework.jar
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/audio/Android.bp b/audio/Android.bp
new file mode 100644
index 0000000..4117288
--- /dev/null
+++ b/audio/Android.bp
@@ -0,0 +1,6 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "2.0",
+    "common/2.0",
+    "effect/2.0",
+]
diff --git a/audio/common/2.0/Android.bp b/audio/common/2.0/Android.bp
index 655c0c9..783623a 100644
--- a/audio/common/2.0/Android.bp
+++ b/audio/common/2.0/Android.bp
@@ -35,4 +35,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/audio/common/2.0/Android.mk b/audio/common/2.0/Android.mk
new file mode 100644
index 0000000..f8346b1
--- /dev/null
+++ b/audio/common/2.0/Android.mk
@@ -0,0 +1,37 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.audio.common@2.0-java-constants
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+#
+GEN := $(intermediates)/android/hardware/audio/common/2.0/Constants.java
+$(GEN): $(HIDL)
+$(GEN): $(LOCAL_PATH)/types.hal
+
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava-constants -randroid.hardware:hardware/interfaces \
+        android.hardware.audio.common@2.0
+
+$(GEN):
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+# Avoid dependency cycle of framework.jar -> this-library -> framework.jar
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/audio/effect/2.0/Android.bp b/audio/effect/2.0/Android.bp
index 4dd2b1e..31c1b90 100644
--- a/audio/effect/2.0/Android.bp
+++ b/audio/effect/2.0/Android.bp
@@ -148,4 +148,9 @@
         "libcutils",
         "android.hardware.audio.common@2.0",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/audio/effect/2.0/Android.mk b/audio/effect/2.0/Android.mk
new file mode 100644
index 0000000..a30de1c
--- /dev/null
+++ b/audio/effect/2.0/Android.mk
@@ -0,0 +1,51 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.audio.effect@2.0-java-constants
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+#
+GEN := $(intermediates)/android/hardware/audio/effect/2.0/Constants.java
+$(GEN): $(HIDL)
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/IAcousticEchoCancelerEffect.hal
+$(GEN): $(LOCAL_PATH)/IAutomaticGainControlEffect.hal
+$(GEN): $(LOCAL_PATH)/IBassBoostEffect.hal
+$(GEN): $(LOCAL_PATH)/IDownmixEffect.hal
+$(GEN): $(LOCAL_PATH)/IEffect.hal
+$(GEN): $(LOCAL_PATH)/IEffectBufferProviderCallback.hal
+$(GEN): $(LOCAL_PATH)/IEffectsFactory.hal
+$(GEN): $(LOCAL_PATH)/IEnvironmentalReverbEffect.hal
+$(GEN): $(LOCAL_PATH)/IEqualizerEffect.hal
+$(GEN): $(LOCAL_PATH)/ILoudnessEnhancerEffect.hal
+$(GEN): $(LOCAL_PATH)/INoiseSuppressionEffect.hal
+$(GEN): $(LOCAL_PATH)/IPresetReverbEffect.hal
+$(GEN): $(LOCAL_PATH)/IVirtualizerEffect.hal
+$(GEN): $(LOCAL_PATH)/IVisualizerEffect.hal
+
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava-constants -randroid.hardware:hardware/interfaces \
+        android.hardware.audio.effect@2.0
+
+$(GEN):
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+# Avoid dependency cycle of framework.jar -> this-library -> framework.jar
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/benchmarks/Android.bp b/benchmarks/Android.bp
new file mode 100644
index 0000000..ab0f308
--- /dev/null
+++ b/benchmarks/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "msgq/1.0",
+]
diff --git a/biometrics/Android.bp b/biometrics/Android.bp
new file mode 100644
index 0000000..eea4604
--- /dev/null
+++ b/biometrics/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "fingerprint/2.1",
+]
diff --git a/biometrics/fingerprint/2.1/Android.bp b/biometrics/fingerprint/2.1/Android.bp
index 77b41b8..e1fd755 100644
--- a/biometrics/fingerprint/2.1/Android.bp
+++ b/biometrics/fingerprint/2.1/Android.bp
@@ -51,4 +51,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/bluetooth/Android.bp b/bluetooth/Android.bp
new file mode 100644
index 0000000..bbb3e4b
--- /dev/null
+++ b/bluetooth/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+]
diff --git a/boot/Android.bp b/boot/Android.bp
new file mode 100644
index 0000000..bbb3e4b
--- /dev/null
+++ b/boot/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+]
diff --git a/broadcastradio/1.0/Android.bp b/broadcastradio/1.0/Android.bp
index 44af4aa..7883d67 100644
--- a/broadcastradio/1.0/Android.bp
+++ b/broadcastradio/1.0/Android.bp
@@ -67,4 +67,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/broadcastradio/Android.bp b/broadcastradio/Android.bp
new file mode 100644
index 0000000..bbb3e4b
--- /dev/null
+++ b/broadcastradio/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+]
diff --git a/example/Android.bp b/example/Android.bp
new file mode 100644
index 0000000..ea6dbb5
--- /dev/null
+++ b/example/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "extension/light/2.0",
+]
diff --git a/example/extension/light/2.0/Android.bp b/example/extension/light/2.0/Android.bp
index 42f34f2..3e6d2b1 100644
--- a/example/extension/light/2.0/Android.bp
+++ b/example/extension/light/2.0/Android.bp
@@ -44,4 +44,9 @@
         "libcutils",
         "android.hardware.light@2.0",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/gnss/1.0/Android.bp b/gnss/1.0/Android.bp
index a97531d..fe90f1e 100644
--- a/gnss/1.0/Android.bp
+++ b/gnss/1.0/Android.bp
@@ -171,4 +171,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/gnss/Android.bp b/gnss/Android.bp
new file mode 100644
index 0000000..bbb3e4b
--- /dev/null
+++ b/gnss/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+]
diff --git a/graphics/Android.bp b/graphics/Android.bp
new file mode 100644
index 0000000..92bcb2a
--- /dev/null
+++ b/graphics/Android.bp
@@ -0,0 +1,9 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "allocator/2.0",
+    "allocator/2.0/default",
+    "composer/2.1",
+    "composer/2.1/default",
+    "mapper/2.0",
+    "mapper/2.0/default",
+]
diff --git a/graphics/allocator/2.0/Android.bp b/graphics/allocator/2.0/Android.bp
index f29c50b..1e9edac 100644
--- a/graphics/allocator/2.0/Android.bp
+++ b/graphics/allocator/2.0/Android.bp
@@ -43,4 +43,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/graphics/allocator/2.0/Android.mk b/graphics/allocator/2.0/Android.mk
new file mode 100644
index 0000000..3165fed
--- /dev/null
+++ b/graphics/allocator/2.0/Android.mk
@@ -0,0 +1,38 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.graphics.allocator@2.0-java-constants
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+#
+GEN := $(intermediates)/android/hardware/graphics/allocator/2.0/Constants.java
+$(GEN): $(HIDL)
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/IAllocator.hal
+
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava-constants -randroid.hardware:hardware/interfaces \
+        android.hardware.graphics.allocator@2.0
+
+$(GEN):
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+# Avoid dependency cycle of framework.jar -> this-library -> framework.jar
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/graphics/composer/2.1/Android.bp b/graphics/composer/2.1/Android.bp
index 3c63a68..094d09e 100644
--- a/graphics/composer/2.1/Android.bp
+++ b/graphics/composer/2.1/Android.bp
@@ -52,4 +52,9 @@
         "libcutils",
         "android.hardware.graphics.allocator@2.0",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/light/2.0/Android.bp b/light/2.0/Android.bp
index a3b03a7..33b4af2 100644
--- a/light/2.0/Android.bp
+++ b/light/2.0/Android.bp
@@ -43,4 +43,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/light/Android.bp b/light/Android.bp
new file mode 100644
index 0000000..c12cd4f
--- /dev/null
+++ b/light/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "2.0",
+]
diff --git a/memtrack/1.0/Android.bp b/memtrack/1.0/Android.bp
index 3696aea..996dbb6 100644
--- a/memtrack/1.0/Android.bp
+++ b/memtrack/1.0/Android.bp
@@ -43,4 +43,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/memtrack/Android.bp b/memtrack/Android.bp
new file mode 100644
index 0000000..ba90f2c
--- /dev/null
+++ b/memtrack/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+    "1.0/default",
+]
diff --git a/nfc/Android.bp b/nfc/Android.bp
new file mode 100644
index 0000000..ed19a37
--- /dev/null
+++ b/nfc/Android.bp
@@ -0,0 +1,6 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+    "1.0/default",
+    "1.0/vts/functional",
+]
diff --git a/power/1.0/Android.bp b/power/1.0/Android.bp
index 9b4d81e..4b6d34b 100644
--- a/power/1.0/Android.bp
+++ b/power/1.0/Android.bp
@@ -43,4 +43,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/power/Android.bp b/power/Android.bp
new file mode 100644
index 0000000..ba90f2c
--- /dev/null
+++ b/power/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+    "1.0/default",
+]
diff --git a/radio/Android.bp b/radio/Android.bp
new file mode 100644
index 0000000..bbb3e4b
--- /dev/null
+++ b/radio/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+]
diff --git a/sensors/1.0/Android.bp b/sensors/1.0/Android.bp
index 32ee049..5b1fd05 100644
--- a/sensors/1.0/Android.bp
+++ b/sensors/1.0/Android.bp
@@ -43,4 +43,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/sensors/1.0/Android.mk b/sensors/1.0/Android.mk
new file mode 100644
index 0000000..dd9e21b
--- /dev/null
+++ b/sensors/1.0/Android.mk
@@ -0,0 +1,38 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.sensors@1.0-java-constants
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+#
+GEN := $(intermediates)/android/hardware/sensors/1.0/Constants.java
+$(GEN): $(HIDL)
+$(GEN): $(LOCAL_PATH)/types.hal
+$(GEN): $(LOCAL_PATH)/ISensors.hal
+
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava-constants -randroid.hardware:hardware/interfaces \
+        android.hardware.sensors@1.0
+
+$(GEN):
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+# Avoid dependency cycle of framework.jar -> this-library -> framework.jar
+LOCAL_NO_STANDARD_LIBRARIES := true
+LOCAL_JAVA_LIBRARIES := core-oj
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/sensors/Android.bp b/sensors/Android.bp
new file mode 100644
index 0000000..ba90f2c
--- /dev/null
+++ b/sensors/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+    "1.0/default",
+]
diff --git a/soundtrigger/2.0/Android.bp b/soundtrigger/2.0/Android.bp
index 10a917b..a7a42a0 100644
--- a/soundtrigger/2.0/Android.bp
+++ b/soundtrigger/2.0/Android.bp
@@ -52,4 +52,9 @@
         "libcutils",
         "android.hardware.audio.common@2.0",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/soundtrigger/Android.bp b/soundtrigger/Android.bp
new file mode 100644
index 0000000..c12cd4f
--- /dev/null
+++ b/soundtrigger/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "2.0",
+]
diff --git a/tests/Android.bp b/tests/Android.bp
new file mode 100644
index 0000000..e9b0148
--- /dev/null
+++ b/tests/Android.bp
@@ -0,0 +1,16 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "bar/1.0",
+    "bar/1.0/default",
+    "baz/1.0",
+    "expression/1.0",
+    "foo/1.0",
+    "foo/1.0/default",
+    "foo/1.0/default/lib",
+    "libhwbinder/1.0",
+    "libhwbinder/1.0/default",
+    "msgq/1.0",
+    "pointer/1.0",
+    "pointer/1.0/default",
+    "pointer/1.0/default/lib",
+]
diff --git a/thermal/1.0/Android.bp b/thermal/1.0/Android.bp
index 0c5dd19..ae64dde 100644
--- a/thermal/1.0/Android.bp
+++ b/thermal/1.0/Android.bp
@@ -43,4 +43,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/thermal/Android.bp b/thermal/Android.bp
new file mode 100644
index 0000000..ba90f2c
--- /dev/null
+++ b/thermal/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+    "1.0/default",
+]
diff --git a/tv/Android.bp b/tv/Android.bp
new file mode 100644
index 0000000..095839f
--- /dev/null
+++ b/tv/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "input/1.0",
+]
diff --git a/tv/input/1.0/Android.bp b/tv/input/1.0/Android.bp
index 5acb937..895aa73 100644
--- a/tv/input/1.0/Android.bp
+++ b/tv/input/1.0/Android.bp
@@ -52,4 +52,9 @@
         "libcutils",
         "android.hardware.audio.common@2.0",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/update-makefiles.sh b/update-makefiles.sh
index 939a9c7..8b82013 100755
--- a/update-makefiles.sh
+++ b/update-makefiles.sh
@@ -18,17 +18,28 @@
   hidl-gen -Landroidbp -r android.hardware:hardware/interfaces $p;
 done
 
-bp="hardware/interfaces/Android.bp"
-androidbps=$(find hardware/interfaces/*/      \
-             -name "Android.bp"               \
-             -exec dirname {} \;              \
-             | sort)
+# subdirectories of hardware/interfaces which contain an Android.bp file
+android_dirs=$(find hardware/interfaces/*/     \
+              -name "Android.bp"               \
+              -printf "%h\n"                   \
+              | cut -d "/" -f1-3               \
+              | sort | uniq)
 
-echo "Updating $bp"
+echo "Updating Android.bp files."
 
-echo "// This is an autogenerated file, do not edit." > $bp;
-echo "subdirs = [" >> $bp;
-for a in $androidbps; do
-  echo "    \"${a#*hardware/interfaces/}\"," >> $bp;
+for bp_dir in $android_dirs; do
+  bp="$bp_dir/Android.bp"
+  # locations of Android.bp files in specific subdirectory of hardware/interfaces
+  android_bps=$(find $bp_dir                   \
+                -name "Android.bp"             \
+                ! -path $bp_dir/Android.bp     \
+                -printf "%h\n"                 \
+                | sort)
+
+  echo "// This is an autogenerated file, do not edit." > "$bp";
+  echo "subdirs = [" >> "$bp";
+  for a in $android_bps; do
+    echo "    \"${a#$bp_dir/}\"," >> "$bp";
+  done
+  echo "]" >> "$bp";
 done
-echo "]" >> $bp;
\ No newline at end of file
diff --git a/vehicle/2.0/Android.bp b/vehicle/2.0/Android.bp
index cb30e1b..981103c 100644
--- a/vehicle/2.0/Android.bp
+++ b/vehicle/2.0/Android.bp
@@ -51,4 +51,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/vehicle/Android.bp b/vehicle/Android.bp
new file mode 100644
index 0000000..c12cd4f
--- /dev/null
+++ b/vehicle/Android.bp
@@ -0,0 +1,4 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "2.0",
+]
diff --git a/vibrator/1.0/Android.bp b/vibrator/1.0/Android.bp
index 64afdb5..270e7bf 100644
--- a/vibrator/1.0/Android.bp
+++ b/vibrator/1.0/Android.bp
@@ -43,4 +43,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/vibrator/Android.bp b/vibrator/Android.bp
new file mode 100644
index 0000000..ba90f2c
--- /dev/null
+++ b/vibrator/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+    "1.0/default",
+]
diff --git a/vr/1.0/Android.bp b/vr/1.0/Android.bp
index 8fd00c5..63a0789 100644
--- a/vr/1.0/Android.bp
+++ b/vr/1.0/Android.bp
@@ -39,4 +39,9 @@
         "libutils",
         "libcutils",
     ],
+export_shared_lib_headers: [
+    "libhidl",
+    "libhwbinder",
+    "libutils",
+    ],
 }
diff --git a/vr/1.0/Android.mk b/vr/1.0/Android.mk
new file mode 100644
index 0000000..b35ca3d
--- /dev/null
+++ b/vr/1.0/Android.mk
@@ -0,0 +1,64 @@
+# This file is autogenerated by hidl-gen. Do not edit manually.
+
+LOCAL_PATH := $(call my-dir)
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.vr@1.0-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+#
+# Build IVr.hal
+#
+GEN := $(intermediates)/android/hardware/vr/1.0/IVr.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVr.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava -randroid.hardware:hardware/interfaces \
+        android.hardware.vr@1.0::IVr
+
+$(GEN): $(LOCAL_PATH)/IVr.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_JAVA_LIBRARY)
+
+
+################################################################################
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android.hardware.vr@1.0-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+#
+# Build IVr.hal
+#
+GEN := $(intermediates)/android/hardware/vr/1.0/IVr.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IVr.hal
+$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
+$(GEN): PRIVATE_CUSTOM_TOOL = \
+        $(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
+        -Ljava -randroid.hardware:hardware/interfaces \
+        android.hardware.vr@1.0::IVr
+
+$(GEN): $(LOCAL_PATH)/IVr.hal
+	$(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/vr/Android.bp b/vr/Android.bp
new file mode 100644
index 0000000..ba90f2c
--- /dev/null
+++ b/vr/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+    "1.0/default",
+]
diff --git a/wifi/Android.bp b/wifi/Android.bp
new file mode 100644
index 0000000..ea43db4
--- /dev/null
+++ b/wifi/Android.bp
@@ -0,0 +1,5 @@
+// This is an autogenerated file, do not edit.
+subdirs = [
+    "1.0",
+    "supplicant/1.0",
+]