libchromeos: Compile missing unit tests on Android

Apparently some of the unit tests for libchromeos weren't being
compiled on Brillo/Android. Add them to the make file and make
a few tweaks to make sure they compile successfully.

Change-Id: I324d4bb0b89ac96e564cd107a5bb3751ebd4b9ae
diff --git a/Android.mk b/Android.mk
index 9531923..7655afe 100644
--- a/Android.mk
+++ b/Android.mk
@@ -89,9 +89,21 @@
     brillo/streams/fake_stream.cc \
 
 libchromeos_test_sources := \
+    brillo/any_unittest.cc \
+    brillo/any_internal_impl_unittest.cc \
     brillo/asynchronous_signal_handler_unittest.cc \
     brillo/backoff_entry_unittest.cc \
     brillo/data_encoding_unittest.cc \
+    brillo/dbus/async_event_sequencer_unittest.cc \
+    brillo/dbus/data_serialization_unittest.cc \
+    brillo/dbus/dbus_method_invoker_unittest.cc \
+    brillo/dbus/dbus_object_unittest.cc \
+    brillo/dbus/dbus_param_reader_unittest.cc \
+    brillo/dbus/dbus_param_writer_unittest.cc \
+    brillo/dbus/dbus_signal_handler_unittest.cc \
+    brillo/dbus/exported_object_manager_unittest.cc \
+    brillo/dbus/exported_property_set_unittest.cc \
+    brillo/dbus/test.proto \
     brillo/errors/error_codes_unittest.cc \
     brillo/errors/error_unittest.cc \
     brillo/file_utils_unittest.cc \
@@ -119,6 +131,7 @@
     brillo/streams/stream_utils_unittest.cc \
     brillo/strings/string_utils_unittest.cc \
     brillo/url_utils_unittest.cc \
+    brillo/variant_dictionary_unittest.cc \
 
 libchromeos_CFLAGS := -Wall \
     -Wno-char-subscripts -Wno-missing-field-initializers \
@@ -294,18 +307,25 @@
 include $(CLEAR_VARS)
 LOCAL_CPP_EXTENSION := $(libchromeos_cpp_extension)
 LOCAL_MODULE := libchromeos_test
+LOCAL_MODULE_CLASS := EXECUTABLES
 ifdef BRILLO
   LOCAL_MODULE_TAGS := debug
 endif
+generated_sources_dir := $(call local-generated-sources-dir)
 LOCAL_SRC_FILES := $(libchromeos_test_sources)
-LOCAL_C_INCLUDES := $(libchromeos_includes)
+LOCAL_C_INCLUDES := \
+    $(libchromeos_includes) \
+    $(generated_sources_dir)/proto/external/libchromeos
 LOCAL_STATIC_LIBRARIES := libgtest libchrome_test_helpers \
-    libchromeos-test-helpers libgmock libBionicGtestMain
+    libchromeos-test-helpers libgmock libBionicGtestMain \
+    libchrome_dbus_test_helpers
 LOCAL_SHARED_LIBRARIES := $(libchromeos_shared_libraries) libchromeos libcurl \
-    libchromeos-http libchromeos-stream libcrypto
+    libchromeos-dbus libchromeos-http libchromeos-stream libcrypto \
+    libchrome-dbus libdbus libprotobuf-cpp-lite-rtti
 LOCAL_CFLAGS := $(libchromeos_CFLAGS)
 LOCAL_CPPFLAGS := $(libchromeos_CPPFLAGS) -Wno-sign-compare
 LOCAL_CLANG := true
+LOCAL_RTTI_FLAG := -frtti
 include $(BUILD_NATIVE_TEST)
 
 # Run unit tests on target
diff --git a/brillo/dbus/data_serialization_unittest.cc b/brillo/dbus/data_serialization_unittest.cc
index 879e52e..9cf05a8 100644
--- a/brillo/dbus/data_serialization_unittest.cc
+++ b/brillo/dbus/data_serialization_unittest.cc
@@ -9,7 +9,7 @@
 #include <brillo/variant_dictionary.h>
 #include <gtest/gtest.h>
 
-#include "unittests/test.pb.h"
+#include "brillo/dbus/test.pb.h"
 
 using dbus::FileDescriptor;
 using dbus::Message;
diff --git a/brillo/dbus/dbus_method_invoker_unittest.cc b/brillo/dbus/dbus_method_invoker_unittest.cc
index 44383aa..f79b06b 100644
--- a/brillo/dbus/dbus_method_invoker_unittest.cc
+++ b/brillo/dbus/dbus_method_invoker_unittest.cc
@@ -13,7 +13,7 @@
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
-#include "unittests/test.pb.h"
+#include "brillo/dbus/test.pb.h"
 
 using testing::AnyNumber;
 using testing::InSequence;
diff --git a/libchromeos.gypi b/libchromeos.gypi
index 8226828..4bf5a5d 100644
--- a/libchromeos.gypi
+++ b/libchromeos.gypi
@@ -282,7 +282,7 @@
               'libchrome-test-<(libbase_ver)',
             ],
             'proto_in_dir': 'brillo/dbus',
-            'proto_out_dir': 'include/unittests',
+            'proto_out_dir': 'include/brillo/dbus',
           },
           'includes': [
             '../common-mk/common_test.gypi',