Some JNI classes can only be compiled for Linux

Those classes are not used for layoutlib, so cross-platform is not
currently required.

Bug: N/A
Test: m libandroid_runtime on mac
Change-Id: I0e37c7b110cdce35fcb1348ba036e331e64f474b
diff --git a/core/jni/Android.bp b/core/jni/Android.bp
index b50b824..d1adc08 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -33,17 +33,14 @@
 
     srcs: [
         "android_animation_PropertyValuesHolder.cpp",
-        "android_content_res_ApkAssets.cpp",
         "android_graphics_Canvas.cpp",
         "android_graphics_ColorSpace.cpp",
         "android_graphics_drawable_AnimatedVectorDrawable.cpp",
         "android_graphics_drawable_VectorDrawable.cpp",
         "android_graphics_Picture.cpp",
         "android_nio_utils.cpp",
-        "android_os_MessageQueue.cpp",
         "android_os_SystemClock.cpp",
         "android_os_SystemProperties.cpp",
-        "android_os_Trace.cpp",
         "android_util_EventLog.cpp",
         "android_util_Log.cpp",
         "android_util_PathParser.cpp",
@@ -76,9 +73,6 @@
         "android/graphics/fonts/FontFamily.cpp",
         "android/graphics/text/LineBreaker.cpp",
         "android/graphics/text/MeasuredText.cpp",
-        "android_util_AssetManager.cpp",
-        "android_util_StringBlock.cpp",
-        "android_util_XmlBlock.cpp",
         "com_android_internal_util_VirtualRefBasePtr.cpp",
         "com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp",
     ],
@@ -175,18 +169,23 @@
                 "android_os_HwRemoteBinder.cpp",
                 "android_os_NativeHandle.cpp",
                 "android_os_MemoryFile.cpp",
+                "android_os_MessageQueue.cpp",
                 "android_os_Parcel.cpp",
                 "android_os_SELinux.cpp",
                 "android_os_SharedMemory.cpp",
+                "android_os_Trace.cpp",
                 "android_os_UEventObserver.cpp",
                 "android_os_VintfObject.cpp",
                 "android_os_VintfRuntimeInfo.cpp",
                 "android_net_LocalSocketImpl.cpp",
                 "android_net_NetUtils.cpp",
+                "android_util_AssetManager.cpp",
                 "android_util_Binder.cpp",
                 "android_util_StatsLog.cpp",
                 "android_util_MemoryIntArray.cpp",
                 "android_util_Process.cpp",
+                "android_util_StringBlock.cpp",
+                "android_util_XmlBlock.cpp",
                 "android_util_jar_StrictJarFile.cpp",
                 "android/graphics/AnimatedImageDrawable.cpp",
                 "android/graphics/Camera.cpp",
@@ -242,6 +241,7 @@
                 "android_backup_FileBackupHelperBase.cpp",
                 "android_backup_BackupHelperDispatcher.cpp",
                 "android_app_backup_FullBackup.cpp",
+                "android_content_res_ApkAssets.cpp",
                 "android_content_res_ObbScanner.cpp",
                 "android_content_res_Configuration.cpp",
                 "android_security_Scrypt.cpp",
@@ -354,5 +354,15 @@
                 "libutils",
             ],
         },
+        linux_glibc: {
+            srcs: [
+                "android_content_res_ApkAssets.cpp",
+                "android_os_MessageQueue.cpp",
+                "android_os_Trace.cpp",
+                "android_util_AssetManager.cpp",
+                "android_util_StringBlock.cpp",
+                "android_util_XmlBlock.cpp",
+            ],
+        },
     },
 }
diff --git a/core/jni/LayoutlibLoader.cpp b/core/jni/LayoutlibLoader.cpp
index eb70035..549fd4d 100644
--- a/core/jni/LayoutlibLoader.cpp
+++ b/core/jni/LayoutlibLoader.cpp
@@ -91,10 +91,12 @@
 // The actual list of registered classes will be determined at runtime via the 'native_classes' System property
 static const std::unordered_map<std::string, RegJNIRec>  gRegJNIMap = {
     {"android.animation.PropertyValuesHolder", REG_JNI(register_android_animation_PropertyValuesHolder)},
+#ifdef __linux__
     {"android.content.AssetManager", REG_JNI(register_android_content_AssetManager)},
     {"android.content.StringBlock", REG_JNI(register_android_content_StringBlock)},
     {"android.content.XmlBlock", REG_JNI(register_android_content_XmlBlock)},
     {"android.content.res.ApkAssets", REG_JNI(register_android_content_res_ApkAssets)},
+#endif
     {"android.graphics.Bitmap", REG_JNI(register_android_graphics_Bitmap)},
     {"android.graphics.BitmapFactory", REG_JNI(register_android_graphics_BitmapFactory)},
     {"android.graphics.ByteBufferStreamAdaptor", REG_JNI(register_android_graphics_ByteBufferStreamAdaptor)},
@@ -125,10 +127,14 @@
     {"android.graphics.fonts.FontFamily", REG_JNI(register_android_graphics_fonts_FontFamily)},
     {"android.graphics.text.LineBreaker", REG_JNI(register_android_graphics_text_LineBreaker)},
     {"android.graphics.text.MeasuredText", REG_JNI(register_android_graphics_text_MeasuredText)},
+#ifdef __linux__
     {"android.os.MessageQueue", REG_JNI(register_android_os_MessageQueue)},
+#endif
     {"android.os.SystemClock", REG_JNI(register_android_os_SystemClock)},
     {"android.os.SystemProperties", REG_JNI(register_android_os_SystemProperties)},
+#ifdef __linux__
     {"android.os.Trace", REG_JNI(register_android_os_Trace)},
+#endif
     {"android.util.EventLog", REG_JNI(register_android_util_EventLog)},
     {"android.util.Log", REG_JNI(register_android_util_Log)},
     {"android.util.PathParser", REG_JNI(register_android_util_PathParser)},