Merge "Move private_manifest file insertion to jars merging phase."
diff --git a/core/soong_java_prebuilt.mk b/core/soong_java_prebuilt.mk
index ee8b199..a696166 100644
--- a/core/soong_java_prebuilt.mk
+++ b/core/soong_java_prebuilt.mk
@@ -1,17 +1,12 @@
 # Java prebuilt coming from Soong.
 # Extra inputs:
 # LOCAL_SOONG_HEADER_JAR
-# LOCAL_SOONG_DEX
+# LOCAL_SOONG_DEX_JAR
 
 ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
   $(call pretty-error,soong_java_prebuilt.mk may only be used from Soong)
 endif
 
-# TODO: device support
-ifndef LOCAL_IS_HOST_MODULE
-  $(call pretty-error,exporting soong device jars to make not supported yet)
-endif
-
 LOCAL_MODULE_SUFFIX := .jar
 LOCAL_BUILT_MODULE_STEM := javalib.jar
 
@@ -21,6 +16,7 @@
 
 full_classes_jar := $(intermediates.COMMON)/classes.jar
 full_classes_header_jar := $(intermediates.COMMON)/classes-header.jar
+common_javalib.jar := $(intermediates.COMMON)/javalib.jar
 
 LOCAL_FULL_CLASSES_PRE_JACOCO_JAR := $(LOCAL_PREBUILT_MODULE_FILE)
 
@@ -28,7 +24,6 @@
 include $(BUILD_SYSTEM)/jacoco.mk
 #######################################
 
-$(eval $(call copy-one-file,$(LOCAL_FULL_CLASSES_JACOCO_JAR),$(LOCAL_BUILT_MODULE)))
 $(eval $(call copy-one-file,$(LOCAL_FULL_CLASSES_JACOCO_JAR),$(full_classes_jar)))
 
 ifdef LOCAL_SOONG_HEADER_JAR
@@ -37,9 +32,37 @@
 $(eval $(call copy-one-file,$(full_classes_jar),$(full_classes_header_jar)))
 endif
 
+ifdef LOCAL_SOONG_DEX_JAR
+$(eval $(call copy-one-file,$(LOCAL_SOONG_DEX_JAR),$(LOCAL_BUILT_MODULE)))
+java-dex : $(LOCAL_BUILT_MODULE)
+else
+$(eval $(call copy-one-file,$(full_classes_jar),$(LOCAL_BUILT_MODULE)))
+endif
+
 javac-check : $(full_classes_jar)
 javac-check-$(LOCAL_MODULE) : $(full_classes_jar)
 
+ifndef LOCAL_IS_HOST_MODULE
+ifeq ($(LOCAL_SDK_VERSION),system_current)
+my_link_type := java:system
+my_warn_types := java:platform
+my_allowed_types := java:sdk java:system
+else ifneq ($(LOCAL_SDK_VERSION),)
+my_link_type := java:sdk
+my_warn_types := java:system java:platform
+my_allowed_types := java:sdk
+else
+my_link_type := java:platform
+my_warn_types :=
+my_allowed_types := java:sdk java:system java:platform
+endif
+
+my_link_deps :=
+my_2nd_arch_prefix := $(LOCAL_2ND_ARCH_VAR_PREFIX)
+my_common := COMMON
+include $(BUILD_SYSTEM)/link_type.mk
+endif # !LOCAL_IS_HOST_MODULE
+
 # Built in equivalent to include $(CLEAR_VARS)
 LOCAL_SOONG_HEADER_JAR :=
-LOCAL_SOONG_DEX :=
+LOCAL_SOONG_DEX_JAR :=