diff --git a/core/jni/Android.bp b/core/jni/Android.bp
index 2bc3265..816ace2 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -73,12 +73,6 @@
 
     srcs: [
         "android_animation_PropertyValuesHolder.cpp",
-        "android_database_CursorWindow.cpp",
-        "android_database_SQLiteCommon.cpp",
-        "android_database_SQLiteConnection.cpp",
-        "android_database_SQLiteGlobal.cpp",
-        "android_database_SQLiteDebug.cpp",
-        "android_database_SQLiteRawStatement.cpp",
         "android_os_SystemClock.cpp",
         "android_os_SystemProperties.cpp",
         "android_os_Trace.cpp",
@@ -163,6 +157,12 @@
                 "android_opengl_GLES31.cpp",
                 "android_opengl_GLES31Ext.cpp",
                 "android_opengl_GLES32.cpp",
+                "android_database_CursorWindow.cpp",
+                "android_database_SQLiteCommon.cpp",
+                "android_database_SQLiteConnection.cpp",
+                "android_database_SQLiteGlobal.cpp",
+                "android_database_SQLiteDebug.cpp",
+                "android_database_SQLiteRawStatement.cpp",
                 "android_graphics_GraphicBuffer.cpp",
                 "android_graphics_SurfaceTexture.cpp",
                 "android_view_CompositionSamplingListener.cpp",
@@ -428,7 +428,6 @@
                 "libnativehelper_jvm",
                 "libpiex",
                 "libpng",
-                "libsqlite",
                 "libtiff_directory",
                 "libui-types",
                 "libutils",
@@ -444,6 +443,12 @@
         host_linux: {
             srcs: [
                 "android_content_res_ApkAssets.cpp",
+                "android_database_CursorWindow.cpp",
+                "android_database_SQLiteCommon.cpp",
+                "android_database_SQLiteConnection.cpp",
+                "android_database_SQLiteGlobal.cpp",
+                "android_database_SQLiteDebug.cpp",
+                "android_database_SQLiteRawStatement.cpp",
                 "android_hardware_input_InputApplicationHandle.cpp",
                 "android_os_MessageQueue.cpp",
                 "android_os_Parcel.cpp",
@@ -459,6 +464,7 @@
             ],
             static_libs: [
                 "libbinderthreadstateutils",
+                "libsqlite",
                 "libgui_window_info_static",
             ],
             shared_libs: [
diff --git a/core/jni/android_database_CursorWindow.cpp b/core/jni/android_database_CursorWindow.cpp
index 18c3146..c0e9215 100644
--- a/core/jni/android_database_CursorWindow.cpp
+++ b/core/jni/android_database_CursorWindow.cpp
@@ -38,9 +38,7 @@
 #define LOG_NDEBUG 1
 
 #include <androidfw/CursorWindow.h>
-#ifdef __linux__
 #include "android_os_Parcel.h"
-#endif
 #include "android_util_Binder.h"
 #include "android_database_SQLiteCommon.h"
 
@@ -113,7 +111,6 @@
     return 0;
 }
 
-#ifdef __linux__
 static jlong nativeCreateFromParcel(JNIEnv* env, jclass clazz, jobject parcelObj) {
     Parcel* parcel = parcelForJavaObject(env, parcelObj);
 
@@ -131,7 +128,6 @@
             window->getNumRows(), window->getNumColumns(), window);
     return reinterpret_cast<jlong>(window);
 }
-#endif
 
 static void nativeDispose(JNIEnv* env, jclass clazz, jlong windowPtr) {
     CursorWindow* window = reinterpret_cast<CursorWindow*>(windowPtr);
@@ -146,7 +142,6 @@
     return env->NewStringUTF(window->name().c_str());
 }
 
-#ifdef __linux__
 static void nativeWriteToParcel(JNIEnv * env, jclass clazz, jlong windowPtr,
         jobject parcelObj) {
     CursorWindow* window = reinterpret_cast<CursorWindow*>(windowPtr);
@@ -159,7 +154,6 @@
         jniThrowRuntimeException(env, msg.c_str());
     }
 }
-#endif
 
 static void nativeClear(JNIEnv * env, jclass clazz, jlong windowPtr) {
     CursorWindow* window = reinterpret_cast<CursorWindow*>(windowPtr);
@@ -526,35 +520,55 @@
     return true;
 }
 
-static const JNINativeMethod sMethods[] = {
-        /* name, signature, funcPtr */
-        {"nativeCreate", "(Ljava/lang/String;I)J", (void*)nativeCreate},
-        {"nativeDispose", "(J)V", (void*)nativeDispose},
-#ifdef __linux__
-        {"nativeCreateFromParcel", "(Landroid/os/Parcel;)J", (void*)nativeCreateFromParcel},
-        {"nativeWriteToParcel", "(JLandroid/os/Parcel;)V", (void*)nativeWriteToParcel},
-#endif
-        {"nativeGetName", "(J)Ljava/lang/String;", (void*)nativeGetName},
-        {"nativeGetBlob", "(JII)[B", (void*)nativeGetBlob},
-        {"nativeGetString", "(JII)Ljava/lang/String;", (void*)nativeGetString},
-        {"nativeCopyStringToBuffer", "(JIILandroid/database/CharArrayBuffer;)V",
-         (void*)nativeCopyStringToBuffer},
-        {"nativePutBlob", "(J[BII)Z", (void*)nativePutBlob},
-        {"nativePutString", "(JLjava/lang/String;II)Z", (void*)nativePutString},
+static const JNINativeMethod sMethods[] =
+{
+    /* name, signature, funcPtr */
+    { "nativeCreate", "(Ljava/lang/String;I)J",
+            (void*)nativeCreate },
+    { "nativeCreateFromParcel", "(Landroid/os/Parcel;)J",
+            (void*)nativeCreateFromParcel },
+    { "nativeDispose", "(J)V",
+            (void*)nativeDispose },
+    { "nativeWriteToParcel", "(JLandroid/os/Parcel;)V",
+            (void*)nativeWriteToParcel },
 
-        // ------- @FastNative below here ----------------------
-        {"nativeClear", "(J)V", (void*)nativeClear},
-        {"nativeGetNumRows", "(J)I", (void*)nativeGetNumRows},
-        {"nativeSetNumColumns", "(JI)Z", (void*)nativeSetNumColumns},
-        {"nativeAllocRow", "(J)Z", (void*)nativeAllocRow},
-        {"nativeFreeLastRow", "(J)V", (void*)nativeFreeLastRow},
-        {"nativeGetType", "(JII)I", (void*)nativeGetType},
-        {"nativeGetLong", "(JII)J", (void*)nativeGetLong},
-        {"nativeGetDouble", "(JII)D", (void*)nativeGetDouble},
+    { "nativeGetName", "(J)Ljava/lang/String;",
+            (void*)nativeGetName },
+    { "nativeGetBlob", "(JII)[B",
+            (void*)nativeGetBlob },
+    { "nativeGetString", "(JII)Ljava/lang/String;",
+            (void*)nativeGetString },
+    { "nativeCopyStringToBuffer", "(JIILandroid/database/CharArrayBuffer;)V",
+            (void*)nativeCopyStringToBuffer },
+    { "nativePutBlob", "(J[BII)Z",
+            (void*)nativePutBlob },
+    { "nativePutString", "(JLjava/lang/String;II)Z",
+            (void*)nativePutString },
 
-        {"nativePutLong", "(JJII)Z", (void*)nativePutLong},
-        {"nativePutDouble", "(JDII)Z", (void*)nativePutDouble},
-        {"nativePutNull", "(JII)Z", (void*)nativePutNull},
+    // ------- @FastNative below here ----------------------
+    { "nativeClear", "(J)V",
+            (void*)nativeClear },
+    { "nativeGetNumRows", "(J)I",
+            (void*)nativeGetNumRows },
+    { "nativeSetNumColumns", "(JI)Z",
+            (void*)nativeSetNumColumns },
+    { "nativeAllocRow", "(J)Z",
+            (void*)nativeAllocRow },
+    { "nativeFreeLastRow", "(J)V",
+            (void*)nativeFreeLastRow },
+    { "nativeGetType", "(JII)I",
+            (void*)nativeGetType },
+    { "nativeGetLong", "(JII)J",
+            (void*)nativeGetLong },
+    { "nativeGetDouble", "(JII)D",
+            (void*)nativeGetDouble },
+
+    { "nativePutLong", "(JJII)Z",
+            (void*)nativePutLong },
+    { "nativePutDouble", "(JDII)Z",
+            (void*)nativePutDouble },
+    { "nativePutNull", "(JII)Z",
+            (void*)nativePutNull },
 };
 
 int register_android_database_CursorWindow(JNIEnv* env)
diff --git a/core/jni/platform/host/HostRuntime.cpp b/core/jni/platform/host/HostRuntime.cpp
index bd403c7..24551a4 100644
--- a/core/jni/platform/host/HostRuntime.cpp
+++ b/core/jni/platform/host/HostRuntime.cpp
@@ -120,6 +120,7 @@
 #endif
         {"android.content.res.StringBlock", REG_JNI(register_android_content_StringBlock)},
         {"android.content.res.XmlBlock", REG_JNI(register_android_content_XmlBlock)},
+#ifdef __linux__
         {"android.database.CursorWindow", REG_JNI(register_android_database_CursorWindow)},
         {"android.database.sqlite.SQLiteConnection",
          REG_JNI(register_android_database_SQLiteConnection)},
@@ -127,7 +128,6 @@
         {"android.database.sqlite.SQLiteDebug", REG_JNI(register_android_database_SQLiteDebug)},
         {"android.database.sqlite.SQLiteRawStatement",
          REG_JNI(register_android_database_SQLiteRawStatement)},
-#ifdef __linux__
         {"android.os.Binder", REG_JNI(register_android_os_Binder)},
         {"android.os.FileObserver", REG_JNI(register_android_os_FileObserver)},
         {"android.os.MessageQueue", REG_JNI(register_android_os_MessageQueue)},
diff --git a/libs/androidfw/Android.bp b/libs/androidfw/Android.bp
index 385fbfe..a39f30b 100644
--- a/libs/androidfw/Android.bp
+++ b/libs/androidfw/Android.bp
@@ -75,7 +75,6 @@
         "BigBufferStream.cpp",
         "ChunkIterator.cpp",
         "ConfigDescription.cpp",
-        "CursorWindow.cpp",
         "FileStream.cpp",
         "Idmap.cpp",
         "LoadedArsc.cpp",
@@ -114,6 +113,7 @@
             srcs: [
                 "BackupData.cpp",
                 "BackupHelpers.cpp",
+                "CursorWindow.cpp",
             ],
             shared_libs: [
                 "libbase",
@@ -147,6 +147,11 @@
                 "libz",
             ],
         },
+        host_linux: {
+            srcs: [
+                "CursorWindow.cpp",
+            ],
+        },
         windows: {
             enabled: true,
         },
diff --git a/libs/androidfw/CursorWindow.cpp b/libs/androidfw/CursorWindow.cpp
index abf2b0a..cbb1e8f 100644
--- a/libs/androidfw/CursorWindow.cpp
+++ b/libs/androidfw/CursorWindow.cpp
@@ -139,7 +139,6 @@
     return UNKNOWN_ERROR;
 }
 
-#ifdef __linux__
 status_t CursorWindow::createFromParcel(Parcel* parcel, CursorWindow** outWindow) {
     *outWindow = nullptr;
 
@@ -241,7 +240,6 @@
 fail_silent:
     return UNKNOWN_ERROR;
 }
-#endif
 
 status_t CursorWindow::clear() {
     if (mReadOnly) {
diff --git a/libs/androidfw/include/androidfw/CursorWindow.h b/libs/androidfw/include/androidfw/CursorWindow.h
index 0996355..c2eac12 100644
--- a/libs/androidfw/include/androidfw/CursorWindow.h
+++ b/libs/androidfw/include/androidfw/CursorWindow.h
@@ -23,9 +23,7 @@
 #include <string>
 
 #include "android-base/stringprintf.h"
-#ifdef __linux__
 #include "binder/Parcel.h"
-#endif
 #include "utils/String8.h"
 
 #include "android-base/mapped_file.h"
@@ -84,11 +82,9 @@
     ~CursorWindow();
 
     static status_t create(const String8& name, size_t size, CursorWindow** outCursorWindow);
-#ifdef __linux__
     static status_t createFromParcel(Parcel* parcel, CursorWindow** outCursorWindow);
 
     status_t writeToParcel(Parcel* parcel);
-#endif
 
     inline String8 name() { return mName; }
     inline size_t size() { return mSize; }
