diff --git a/Android.common.mk b/Android.common.mk
index e3de1069..85b99c67 100644
--- a/Android.common.mk
+++ b/Android.common.mk
@@ -14,5 +14,3 @@ LOCAL_CFLAGS += \
 # Quiet down the build system and remove any .h files from the sources
 LOCAL_SRC_FILES := $(patsubst %.h, , $(LOCAL_SRC_FILES))
 LOCAL_EXPORT_C_INCLUDE_DIRS += $(LOCAL_PATH)
-
-LOCAL_PROPRIETARY_MODULE := true
diff --git a/Android.mk b/Android.mk
index 292be236..e8c6608b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -21,6 +21,10 @@
 # IN THE SOFTWARE.
 #
 
+# Two identical libs are defined here.
+# libdrm: for vendors. installed to /vendor/lib. libdrm_<vendor> uses this.
+# libdrm_platform: for platform modules (such as libminui). installed to /system/lib
+
 LIBDRM_COMMON_MK := $(call my-dir)/Android.common.mk
 
 LOCAL_PATH := $(call my-dir)
@@ -33,7 +37,41 @@ include $(LOCAL_PATH)/Makefile.sources
 
 #static library for the device (recovery)
 include $(CLEAR_VARS)
+
+LOCAL_MODULE := libdrm_platform
+
+LOCAL_SRC_FILES := $(LIBDRM_FILES)
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+       $(LOCAL_PATH) \
+       $(LOCAL_PATH)/include/drm
+
+LOCAL_C_INCLUDES := \
+       $(LOCAL_PATH)/include/drm
+
+include $(LIBDRM_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+# Dynamic library for the device
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libdrm_platform
+
+LOCAL_SRC_FILES := $(LIBDRM_FILES)
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+       $(LOCAL_PATH) \
+       $(LOCAL_PATH)/include/drm
+
+LOCAL_C_INCLUDES := \
+       $(LOCAL_PATH)/include/drm
+
+include $(LIBDRM_COMMON_MK)
+include $(BUILD_SHARED_LIBRARY)
+
+# Static library for the device (recovery)
+include $(CLEAR_VARS)
+
 LOCAL_MODULE := libdrm
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SRC_FILES := $(LIBDRM_FILES)
 LOCAL_EXPORT_C_INCLUDE_DIRS := \
@@ -49,6 +87,7 @@ include $(BUILD_STATIC_LIBRARY)
 # Shared library for the device
 include $(CLEAR_VARS)
 LOCAL_MODULE := libdrm
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SRC_FILES := $(LIBDRM_FILES)
 LOCAL_EXPORT_C_INCLUDE_DIRS := \
diff --git a/amdgpu/Android.mk b/amdgpu/Android.mk
index 1f028d0b..fc7892e7 100644
--- a/amdgpu/Android.mk
+++ b/amdgpu/Android.mk
@@ -5,7 +5,7 @@ include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_amdgpu
-
+LOCAL_VENDOR_MODULE := true
 LOCAL_SHARED_LIBRARIES := libdrm
 
 LOCAL_SRC_FILES := $(LIBDRM_AMDGPU_FILES)
diff --git a/etnaviv/Android.mk b/etnaviv/Android.mk
index 390f9a98..1143eac5 100644
--- a/etnaviv/Android.mk
+++ b/etnaviv/Android.mk
@@ -5,6 +5,7 @@ include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_etnaviv
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SHARED_LIBRARIES := libdrm
 
diff --git a/freedreno/Android.mk b/freedreno/Android.mk
index 2b582aed..c1289145 100644
--- a/freedreno/Android.mk
+++ b/freedreno/Android.mk
@@ -5,7 +5,7 @@ include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_freedreno
-
+LOCAL_VENDOR_MODULE := true
 LOCAL_SHARED_LIBRARIES := libdrm
 
 LOCAL_SRC_FILES := $(LIBDRM_FREEDRENO_FILES)
diff --git a/intel/Android.mk b/intel/Android.mk
index 5407ff3e..902b8633 100644
--- a/intel/Android.mk
+++ b/intel/Android.mk
@@ -28,6 +28,7 @@ include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_intel
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SRC_FILES := $(LIBDRM_INTEL_FILES)
 
diff --git a/libkms/Android.mk b/libkms/Android.mk
index 0be72054..d0a16149 100644
--- a/libkms/Android.mk
+++ b/libkms/Android.mk
@@ -45,6 +45,7 @@ LOCAL_SRC_FILES += $(LIBKMS_RADEON_FILES)
 endif
 
 LOCAL_MODULE := libkms
+LOCAL_VENDOR_MODULE := true
 LOCAL_SHARED_LIBRARIES := libdrm
 
 include $(LIBDRM_COMMON_MK)
diff --git a/nouveau/Android.mk b/nouveau/Android.mk
index b430af4f..27433d87 100644
--- a/nouveau/Android.mk
+++ b/nouveau/Android.mk
@@ -5,6 +5,7 @@ include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_nouveau
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SHARED_LIBRARIES := libdrm
 
diff --git a/radeon/Android.mk b/radeon/Android.mk
index 71040dab..7bc9cee9 100644
--- a/radeon/Android.mk
+++ b/radeon/Android.mk
@@ -5,6 +5,7 @@ include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_radeon
+LOCAL_VENDOR_MODULE := true
 
 LOCAL_SHARED_LIBRARIES := libdrm
 
diff --git a/tests/modetest/Android.mk b/tests/modetest/Android.mk
index c1a71fd9..a2a52dfe 100644
--- a/tests/modetest/Android.mk
+++ b/tests/modetest/Android.mk
@@ -7,7 +7,7 @@ LOCAL_SRC_FILES := $(MODETEST_FILES)
 
 LOCAL_MODULE := modetest
 
-LOCAL_SHARED_LIBRARIES := libdrm
+LOCAL_SHARED_LIBRARIES := libdrm_platform
 LOCAL_STATIC_LIBRARIES := libdrm_util
 
 include $(LIBDRM_COMMON_MK)
diff --git a/tests/proptest/Android.mk b/tests/proptest/Android.mk
index 91a590fc..26aea514 100644
--- a/tests/proptest/Android.mk
+++ b/tests/proptest/Android.mk
@@ -7,7 +7,7 @@ LOCAL_SRC_FILES := $(PROPTEST_FILES)
 
 LOCAL_MODULE := proptest
 
-LOCAL_SHARED_LIBRARIES := libdrm
+LOCAL_SHARED_LIBRARIES := libdrm_platform
 LOCAL_STATIC_LIBRARIES := libdrm_util
 
 include $(LIBDRM_COMMON_MK)
diff --git a/tests/util/Android.mk b/tests/util/Android.mk
index 12eccb42..6c5c924d 100644
--- a/tests/util/Android.mk
+++ b/tests/util/Android.mk
@@ -28,7 +28,7 @@ include $(LOCAL_PATH)/Makefile.sources
 
 LOCAL_MODULE := libdrm_util
 
-LOCAL_SHARED_LIBRARIES := libdrm
+LOCAL_SHARED_LIBRARIES := libdrm_platform
 
 LOCAL_SRC_FILES := $(UTIL_FILES)
 
