Make protobuf usable by host-side java apps

Change-Id: Ic214bfb361eb2167d301b55a34b209a84a6d4a08
diff --git a/Android.mk b/Android.mk
index 83f59cd..4ade77c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -17,39 +17,23 @@
 LOCAL_PATH := $(call my-dir)
 
 CC_LITE_SRC_FILES := \
-  src/google/protobuf/stubs/common.cc                              \
-  src/google/protobuf/stubs/once.cc                                \
-  src/google/protobuf/stubs/hash.cc                                \
-  src/google/protobuf/stubs/hash.h                                 \
-  src/google/protobuf/stubs/map-util.h                             \
-  src/google/protobuf/stubs/stl_util-inl.h                         \
-  src/google/protobuf/extension_set.cc                             \
-  src/google/protobuf/generated_message_util.cc                    \
-  src/google/protobuf/message_lite.cc                              \
-  src/google/protobuf/repeated_field.cc                            \
-  src/google/protobuf/wire_format_lite.cc                          \
-  src/google/protobuf/io/coded_stream.cc                           \
-  src/google/protobuf/io/coded_stream_inl.h                        \
-  src/google/protobuf/io/zero_copy_stream.cc                       \
-  src/google/protobuf/io/zero_copy_stream_impl_lite.cc
+    src/google/protobuf/stubs/common.cc                              \
+    src/google/protobuf/stubs/once.cc                                \
+    src/google/protobuf/stubs/hash.cc                                \
+    src/google/protobuf/stubs/hash.h                                 \
+    src/google/protobuf/stubs/map-util.h                             \
+    src/google/protobuf/stubs/stl_util-inl.h                         \
+    src/google/protobuf/extension_set.cc                             \
+    src/google/protobuf/generated_message_util.cc                    \
+    src/google/protobuf/message_lite.cc                              \
+    src/google/protobuf/repeated_field.cc                            \
+    src/google/protobuf/wire_format_lite.cc                          \
+    src/google/protobuf/io/coded_stream.cc                           \
+    src/google/protobuf/io/coded_stream_inl.h                        \
+    src/google/protobuf/io/zero_copy_stream.cc                       \
+    src/google/protobuf/io/zero_copy_stream_impl_lite.cc
 
-# Java micro library
-# =======================================================
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libprotobuf-java-2.3.0-micro
-
-LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro)
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-# Java lite library
-# =======================================================
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libprotobuf-java-2.3.0-lite
-
-LOCAL_SRC_FILES := \
+JAVA_LITE_SRC_FILES := \
     java/src/main/java/com/google/protobuf/UninitializedMessageException.java \
     java/src/main/java/com/google/protobuf/MessageLite.java \
     java/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java \
@@ -63,8 +47,49 @@
     java/src/main/java/com/google/protobuf/WireFormat.java \
     java/src/main/java/com/google/protobuf/GeneratedMessageLite.java
 
+
+# Java micro library (for device-side users)
+# =======================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libprotobuf-java-2.3.0-micro
+
+LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro)
+
 include $(BUILD_STATIC_JAVA_LIBRARY)
 
+# Java micro library (for host-side users)
+# =======================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := host-libprotobuf-java-2.3.0-micro
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(call all-java-files-under, java/src/main/java/com/google/protobuf/micro)
+
+include $(BUILD_HOST_JAVA_LIBRARY)
+
+# Java lite library (for device-side users)
+# =======================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libprotobuf-java-2.3.0-lite
+
+LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES)
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+# Java lite library (for host-side users)
+# =======================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := host-libprotobuf-java-2.3.0-lite
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(JAVA_LITE_SRC_FILES)
+
+include $(BUILD_HOST_JAVA_LIBRARY)
+
 # C++ lite library
 # =======================================================
 include $(CLEAR_VARS)
@@ -114,30 +139,30 @@
 LOCAL_CPP_EXTENSION := .cc
 
 LOCAL_SRC_FILES := \
-  $(CC_LITE_SRC_FILES)                                             \
-  src/google/protobuf/stubs/strutil.cc                             \
-  src/google/protobuf/stubs/strutil.h                              \
-  src/google/protobuf/stubs/substitute.cc                          \
-  src/google/protobuf/stubs/substitute.h                           \
-  src/google/protobuf/stubs/structurally_valid.cc                  \
-  src/google/protobuf/descriptor.cc                                \
-  src/google/protobuf/descriptor.pb.cc                             \
-  src/google/protobuf/descriptor_database.cc                       \
-  src/google/protobuf/dynamic_message.cc                           \
-  src/google/protobuf/extension_set_heavy.cc                       \
-  src/google/protobuf/generated_message_reflection.cc              \
-  src/google/protobuf/message.cc                                   \
-  src/google/protobuf/reflection_ops.cc                            \
-  src/google/protobuf/service.cc                                   \
-  src/google/protobuf/text_format.cc                               \
-  src/google/protobuf/unknown_field_set.cc                         \
-  src/google/protobuf/wire_format.cc                               \
-  src/google/protobuf/io/gzip_stream.cc                            \
-  src/google/protobuf/io/printer.cc                                \
-  src/google/protobuf/io/tokenizer.cc                              \
-  src/google/protobuf/io/zero_copy_stream_impl.cc                  \
-  src/google/protobuf/compiler/importer.cc                         \
-  src/google/protobuf/compiler/parser.cc
+    $(CC_LITE_SRC_FILES)                                             \
+    src/google/protobuf/stubs/strutil.cc                             \
+    src/google/protobuf/stubs/strutil.h                              \
+    src/google/protobuf/stubs/substitute.cc                          \
+    src/google/protobuf/stubs/substitute.h                           \
+    src/google/protobuf/stubs/structurally_valid.cc                  \
+    src/google/protobuf/descriptor.cc                                \
+    src/google/protobuf/descriptor.pb.cc                             \
+    src/google/protobuf/descriptor_database.cc                       \
+    src/google/protobuf/dynamic_message.cc                           \
+    src/google/protobuf/extension_set_heavy.cc                       \
+    src/google/protobuf/generated_message_reflection.cc              \
+    src/google/protobuf/message.cc                                   \
+    src/google/protobuf/reflection_ops.cc                            \
+    src/google/protobuf/service.cc                                   \
+    src/google/protobuf/text_format.cc                               \
+    src/google/protobuf/unknown_field_set.cc                         \
+    src/google/protobuf/wire_format.cc                               \
+    src/google/protobuf/io/gzip_stream.cc                            \
+    src/google/protobuf/io/printer.cc                                \
+    src/google/protobuf/io/tokenizer.cc                              \
+    src/google/protobuf/io/zero_copy_stream_impl.cc                  \
+    src/google/protobuf/compiler/importer.cc                         \
+    src/google/protobuf/compiler/parser.cc
 
 LOCAL_C_INCLUDES := \
     $(LOCAL_PATH)/android \