diff --git a/native/jni/Android.bp b/native/jni/Android.bp
new file mode 100644
index 0000000..3bf70ad
--- /dev/null
+++ b/native/jni/Android.bp
@@ -0,0 +1,213 @@
+// Copyright (C) 2013 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+filegroup {
+    name: "LATIN_IME_CORE_SRC_FILES",
+    srcs: [
+        "src/dictionary/header/header_policy.cpp",
+        "src/dictionary/header/header_read_write_utils.cpp",
+        "src/dictionary/property/ngram_context.cpp",
+        "src/dictionary/structure/dictionary_structure_with_buffer_policy_factory.cpp",
+        "src/dictionary/structure/pt_common/bigram/bigram_list_read_write_utils.cpp",
+        "src/dictionary/structure/pt_common/dynamic_pt_gc_event_listeners.cpp",
+        "src/dictionary/structure/pt_common/dynamic_pt_reading_helper.cpp",
+        "src/dictionary/structure/pt_common/dynamic_pt_reading_utils.cpp",
+        "src/dictionary/structure/pt_common/dynamic_pt_updating_helper.cpp",
+        "src/dictionary/structure/pt_common/dynamic_pt_writing_utils.cpp",
+        "src/dictionary/structure/pt_common/patricia_trie_reading_utils.cpp",
+        "src/dictionary/structure/pt_common/shortcut/shortcut_list_reading_utils.cpp",
+        "src/dictionary/structure/v2/patricia_trie_policy.cpp",
+        "src/dictionary/structure/v2/ver2_patricia_trie_node_reader.cpp",
+        "src/dictionary/structure/v2/ver2_pt_node_array_reader.cpp",
+        "src/dictionary/structure/v4/ver4_dict_buffers.cpp",
+        "src/dictionary/structure/v4/ver4_dict_constants.cpp",
+        "src/dictionary/structure/v4/ver4_patricia_trie_node_reader.cpp",
+        "src/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp",
+        "src/dictionary/structure/v4/ver4_patricia_trie_policy.cpp",
+        "src/dictionary/structure/v4/ver4_patricia_trie_reading_utils.cpp",
+        "src/dictionary/structure/v4/ver4_patricia_trie_writing_helper.cpp",
+        "src/dictionary/structure/v4/ver4_pt_node_array_reader.cpp",
+        "src/dictionary/structure/v4/content/dynamic_language_model_probability_utils.cpp",
+        "src/dictionary/structure/v4/content/language_model_dict_content.cpp",
+        "src/dictionary/structure/v4/content/language_model_dict_content_global_counters.cpp",
+        "src/dictionary/structure/v4/content/shortcut_dict_content.cpp",
+        "src/dictionary/structure/v4/content/sparse_table_dict_content.cpp",
+        "src/dictionary/structure/v4/content/terminal_position_lookup_table.cpp",
+        "src/dictionary/utils/buffer_with_extendable_buffer.cpp",
+        "src/dictionary/utils/byte_array_utils.cpp",
+        "src/dictionary/utils/dict_file_writing_utils.cpp",
+        "src/dictionary/utils/file_utils.cpp",
+        "src/dictionary/utils/forgetting_curve_utils.cpp",
+        "src/dictionary/utils/format_utils.cpp",
+        "src/dictionary/utils/mmapped_buffer.cpp",
+        "src/dictionary/utils/multi_bigram_map.cpp",
+        "src/dictionary/utils/probability_utils.cpp",
+        "src/dictionary/utils/sparse_table.cpp",
+        "src/dictionary/utils/trie_map.cpp",
+        "src/suggest/core/suggest.cpp",
+        "src/suggest/core/dicnode/dic_node.cpp",
+        "src/suggest/core/dicnode/dic_node_utils.cpp",
+        "src/suggest/core/dicnode/dic_nodes_cache.cpp",
+        "src/suggest/core/dictionary/dictionary.cpp",
+        "src/suggest/core/dictionary/dictionary_utils.cpp",
+        "src/suggest/core/dictionary/digraph_utils.cpp",
+        "src/suggest/core/dictionary/error_type_utils.cpp",
+        "src/suggest/core/layout/additional_proximity_chars.cpp",
+        "src/suggest/core/layout/proximity_info.cpp",
+        "src/suggest/core/layout/proximity_info_params.cpp",
+        "src/suggest/core/layout/proximity_info_state.cpp",
+        "src/suggest/core/layout/proximity_info_state_utils.cpp",
+        "src/suggest/core/policy/weighting.cpp",
+        "src/suggest/core/session/dic_traverse_session.cpp",
+        "src/suggest/core/result/suggestion_results.cpp",
+        "src/suggest/core/result/suggestions_output_utils.cpp",
+        "src/suggest/policyimpl/gesture/gesture_suggest_policy_factory.cpp",
+        "src/suggest/policyimpl/typing/scoring_params.cpp",
+        "src/suggest/policyimpl/typing/typing_scoring.cpp",
+        "src/suggest/policyimpl/typing/typing_suggest_policy.cpp",
+        "src/suggest/policyimpl/typing/typing_traversal.cpp",
+        "src/suggest/policyimpl/typing/typing_weighting.cpp",
+        "src/utils/autocorrection_threshold_utils.cpp",
+        "src/utils/char_utils.cpp",
+        "src/utils/jni_data_utils.cpp",
+        "src/utils/log_utils.cpp",
+        "src/utils/time_keeper.cpp",
+
+        // BACKWARD_V402
+        "src/dictionary/structure/backward/v402/ver4_dict_buffers.cpp",
+        "src/dictionary/structure/backward/v402/ver4_dict_constants.cpp",
+        "src/dictionary/structure/backward/v402/ver4_patricia_trie_node_reader.cpp",
+        "src/dictionary/structure/backward/v402/ver4_patricia_trie_node_writer.cpp",
+        "src/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp",
+        "src/dictionary/structure/backward/v402/ver4_patricia_trie_reading_utils.cpp",
+        "src/dictionary/structure/backward/v402/ver4_patricia_trie_writing_helper.cpp",
+        "src/dictionary/structure/backward/v402/ver4_pt_node_array_reader.cpp",
+        "src/dictionary/structure/backward/v402/content/bigram_dict_content.cpp",
+        "src/dictionary/structure/backward/v402/content/probability_dict_content.cpp",
+        "src/dictionary/structure/backward/v402/content/shortcut_dict_content.cpp",
+        "src/dictionary/structure/backward/v402/content/sparse_table_dict_content.cpp",
+        "src/dictionary/structure/backward/v402/content/terminal_position_lookup_table.cpp",
+        "src/dictionary/structure/backward/v402/bigram/ver4_bigram_list_policy.cpp",
+    ],
+}
+
+cc_library {
+    name: "libjni_latinime",
+    host_supported: true,
+
+    sdk_version: "14",
+    cflags: [
+        "-Werror",
+        "-Wall",
+        "-Wextra",
+        "-Weffc++",
+        "-Wformat=2",
+        "-Wcast-qual",
+        "-Wcast-align",
+        "-Wwrite-strings",
+        "-Wfloat-equal",
+        "-Wpointer-arith",
+        "-Winit-self",
+        "-Wredundant-decls",
+        "-Woverloaded-virtual",
+        "-Wsign-promo",
+        "-Wno-system-headers",
+
+        // To suppress compiler warnings for unused variables/functions used for debug features etc.
+        "-Wno-unused-parameter",
+        "-Wno-unused-function",
+    ],
+    local_include_dirs: ["src"],
+
+    srcs: [
+        "com_android_inputmethod_keyboard_ProximityInfo.cpp",
+        "com_android_inputmethod_latin_BinaryDictionary.cpp",
+        "com_android_inputmethod_latin_BinaryDictionaryUtils.cpp",
+        "com_android_inputmethod_latin_DicTraverseSession.cpp",
+        "jni_common.cpp",
+
+        ":LATIN_IME_CORE_SRC_FILES",
+    ],
+
+    target: {
+        android_x86: {
+            // HACK: -mstackrealign is required for x86 builds running on pre-KitKat devices to avoid crashes
+            // with SSE instructions.
+            cflags: ["-mstackrealign"],
+        },
+        android: {
+            stl: "libc++_static",
+        },
+        host: {
+            cflags: ["-DHOST_TOOL"],
+        },
+    },
+}
+
+cc_library_static {
+    name: "liblatinime_static_for_unittests",
+    host_supported: true,
+
+    cflags: [
+        "-Wno-unused-parameter",
+        "-Wno-unused-function",
+        "-Wall",
+        "-Werror",
+    ],
+    local_include_dirs: ["src"],
+    sdk_version: "14",
+    stl: "libc++_static",
+
+    srcs: [":LATIN_IME_CORE_SRC_FILES"],
+}
+
+cc_test {
+    name: "liblatinime_unittests",
+    host_supported: true,
+
+    cflags: [
+        "-Wno-unused-parameter",
+        "-Wno-unused-function",
+        "-Wall",
+        "-Werror",
+    ],
+    local_include_dirs: ["src"],
+    sdk_version: "14",
+    stl: "libc++_static",
+
+    srcs: [
+        "tests/defines_test.cpp",
+        "tests/dictionary/header/header_read_write_utils_test.cpp",
+        "tests/dictionary/structure/v4/content/language_model_dict_content_test.cpp",
+        "tests/dictionary/structure/v4/content/language_model_dict_content_global_counters_test.cpp",
+        "tests/dictionary/structure/v4/content/probability_entry_test.cpp",
+        "tests/dictionary/structure/v4/content/terminal_position_lookup_table_test.cpp",
+        "tests/dictionary/utils/bloom_filter_test.cpp",
+        "tests/dictionary/utils/buffer_with_extendable_buffer_test.cpp",
+        "tests/dictionary/utils/byte_array_utils_test.cpp",
+        "tests/dictionary/utils/format_utils_test.cpp",
+        "tests/dictionary/utils/probability_utils_test.cpp",
+        "tests/dictionary/utils/sparse_table_test.cpp",
+        "tests/dictionary/utils/trie_map_test.cpp",
+        "tests/suggest/core/dicnode/dic_node_pool_test.cpp",
+        "tests/suggest/core/layout/geometry_utils_test.cpp",
+        "tests/suggest/core/layout/normal_distribution_2d_test.cpp",
+        "tests/suggest/policyimpl/utils/damerau_levenshtein_edit_distance_policy_test.cpp",
+        "tests/utils/autocorrection_threshold_utils_test.cpp",
+        "tests/utils/char_utils_test.cpp",
+        "tests/utils/int_array_view_test.cpp",
+        "tests/utils/time_keeper_test.cpp",
+    ],
+    static_libs: ["liblatinime_static_for_unittests"],
+}
diff --git a/native/jni/Android.mk b/native/jni/Android.mk
deleted file mode 100644
index 5384648..0000000
--- a/native/jni/Android.mk
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright (C) 2011 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LOCAL_PATH := $(call my-dir)
-
-############ some local flags
-# If you change any of those flags, you need to rebuild both libjni_latinime_common_static
-# and the shared library that uses libjni_latinime_common_static.
-FLAG_DBG ?= false
-FLAG_DO_PROFILE ?= false
-
-######################################
-include $(CLEAR_VARS)
-
-LATIN_IME_SRC_DIR := src
-
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-
-LOCAL_CFLAGS += -Werror -Wall -Wextra -Weffc++ -Wformat=2 -Wcast-qual -Wcast-align \
-    -Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls \
-    -Woverloaded-virtual -Wsign-promo -Wno-system-headers
-
-# To suppress compiler warnings for unused variables/functions used for debug features etc.
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
-
-# HACK: -mstackrealign is required for x86 builds running on pre-KitKat devices to avoid crashes
-# with SSE instructions.
-ifeq ($(TARGET_ARCH), x86)
-    LOCAL_CFLAGS += -mstackrealign
-endif # x86
-
-include $(LOCAL_PATH)/NativeFileList.mk
-
-LOCAL_SRC_FILES := \
-    $(LATIN_IME_JNI_SRC_FILES) \
-    $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
-
-ifeq ($(FLAG_DO_PROFILE), true)
-    $(warning Making profiling version of native library)
-    LOCAL_CFLAGS += -DFLAG_DO_PROFILE -funwind-tables
-else # FLAG_DO_PROFILE
-ifeq ($(FLAG_DBG), true)
-    $(warning Making debug version of native library)
-    LOCAL_CFLAGS += -DFLAG_DBG -funwind-tables -fno-inline
-ifeq ($(FLAG_FULL_DBG), true)
-    $(warning Making full debug version of native library)
-    LOCAL_CFLAGS += -DFLAG_FULL_DBG
-endif # FLAG_FULL_DBG
-endif # FLAG_DBG
-endif # FLAG_DO_PROFILE
-
-LOCAL_MODULE := libjni_latinime_common_static
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SDK_VERSION := 14
-LOCAL_NDK_STL_VARIANT := c++_static
-
-include $(BUILD_STATIC_LIBRARY)
-######################################
-include $(CLEAR_VARS)
-
-# All code in LOCAL_WHOLE_STATIC_LIBRARIES will be built into this shared library.
-LOCAL_WHOLE_STATIC_LIBRARIES := libjni_latinime_common_static
-
-ifeq ($(FLAG_DO_PROFILE), true)
-    $(warning Making profiling version of native library)
-    LOCAL_LDFLAGS += -llog
-else # FLAG_DO_PROFILE
-ifeq ($(FLAG_DBG), true)
-    $(warning Making debug version of native library)
-    LOCAL_LDFLAGS += -llog
-endif # FLAG_DBG
-endif # FLAG_DO_PROFILE
-
-LOCAL_MODULE := libjni_latinime
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SDK_VERSION := 14
-LOCAL_NDK_STL_VARIANT := c++_static
-LOCAL_CFLAGS := -Wall -Werror
-LOCAL_LDFLAGS += -ldl
-
-include $(BUILD_SHARED_LIBRARY)
-#################### Clean up the tmp vars
-include $(LOCAL_PATH)/CleanupNativeFileList.mk
-
-#################### Unit test on host environment
-include $(LOCAL_PATH)/HostUnitTests.mk
-
-#################### Unit test on target environment
-include $(LOCAL_PATH)/TargetUnitTests.mk
-//LOCAL_CFLAGS += -Wall -Werror
diff --git a/native/jni/Application.mk b/native/jni/Application.mk
deleted file mode 100644
index ce09535..0000000
--- a/native/jni/Application.mk
+++ /dev/null
@@ -1 +0,0 @@
-APP_STL := c++_static
diff --git a/native/jni/CleanupNativeFileList.mk b/native/jni/CleanupNativeFileList.mk
deleted file mode 100644
index eed6f1e..0000000
--- a/native/jni/CleanupNativeFileList.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 2013 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LATIN_IME_CORE_SRC_FILES :=
-LATIN_IME_CORE_SRC_FILES_BACKWARD_V401 :=
-LATIN_IME_CORE_TEST_FILES :=
-LATIN_IME_JNI_SRC_FILES :=
-LATIN_IME_SRC_DIR :=
diff --git a/native/jni/HostUnitTests.mk b/native/jni/HostUnitTests.mk
deleted file mode 100644
index 94cd764..0000000
--- a/native/jni/HostUnitTests.mk
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Host build is never supported in unbundled (NDK/tapas) build
-ifeq (,$(TARGET_BUILD_APPS))
-
-# HACK: Temporarily disable host tool build on Mac until the build system is ready for C++11.
-LATINIME_HOST_OSNAME := $(shell uname -s)
-ifneq ($(LATINIME_HOST_OSNAME), Darwin) # TODO: Remove this
-
-LOCAL_PATH := $(call my-dir)
-
-######################################
-include $(CLEAR_VARS)
-
-include $(LOCAL_PATH)/NativeFileList.mk
-
-#################### Host library for unit test
-LATIN_IME_SRC_DIR := src
-LOCAL_ADDRESS_SANITIZER := true
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function -Wall -Werror
-LOCAL_CXX_STL := libc++
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-LOCAL_MODULE := liblatinime_host_static_for_unittests
-LOCAL_MODULE_TAGS := optional
-LOCAL_SRC_FILES := $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-#################### Host native tests
-include $(CLEAR_VARS)
-LATIN_IME_TEST_SRC_DIR := tests
-LOCAL_ADDRESS_SANITIZER := true
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
-LOCAL_CFLAGS += -Wall -Werror
-LOCAL_CXX_STL := libc++
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-LOCAL_MODULE := liblatinime_host_unittests
-LOCAL_MODULE_TAGS := tests
-LOCAL_SRC_FILES := $(addprefix $(LATIN_IME_TEST_SRC_DIR)/, $(LATIN_IME_CORE_TEST_FILES))
-LOCAL_STATIC_LIBRARIES += liblatinime_host_static_for_unittests
-include $(BUILD_HOST_NATIVE_TEST)
-
-include $(LOCAL_PATH)/CleanupNativeFileList.mk
-
-endif # Darwin - TODO: Remove this
-
-endif # TARGET_BUILD_APPS
-
-#################### Clean up the tmp vars
-LATINIME_HOST_OSNAME :=
-LATIN_IME_SRC_DIR :=
-LATIN_IME_TEST_SRC_DIR :=
diff --git a/native/jni/NativeFileList.mk b/native/jni/NativeFileList.mk
deleted file mode 100644
index d8b69bf..0000000
--- a/native/jni/NativeFileList.mk
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright (C) 2013 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LATIN_IME_JNI_SRC_FILES := \
-    com_android_inputmethod_keyboard_ProximityInfo.cpp \
-    com_android_inputmethod_latin_BinaryDictionary.cpp \
-    com_android_inputmethod_latin_BinaryDictionaryUtils.cpp \
-    com_android_inputmethod_latin_DicTraverseSession.cpp \
-    jni_common.cpp
-
-LATIN_IME_CORE_SRC_FILES := \
-    $(addprefix dictionary/header/, \
-        header_policy.cpp \
-        header_read_write_utils.cpp) \
-    dictionary/property/ngram_context.cpp \
-    dictionary/structure/dictionary_structure_with_buffer_policy_factory.cpp \
-    $(addprefix dictionary/structure/pt_common/, \
-        bigram/bigram_list_read_write_utils.cpp \
-        dynamic_pt_gc_event_listeners.cpp \
-        dynamic_pt_reading_helper.cpp \
-        dynamic_pt_reading_utils.cpp \
-        dynamic_pt_updating_helper.cpp \
-        dynamic_pt_writing_utils.cpp \
-        patricia_trie_reading_utils.cpp \
-        shortcut/shortcut_list_reading_utils.cpp) \
-    $(addprefix dictionary/structure/v2/, \
-        patricia_trie_policy.cpp \
-        ver2_patricia_trie_node_reader.cpp \
-        ver2_pt_node_array_reader.cpp) \
-    $(addprefix dictionary/structure/v4/, \
-        ver4_dict_buffers.cpp \
-        ver4_dict_constants.cpp \
-        ver4_patricia_trie_node_reader.cpp \
-        ver4_patricia_trie_node_writer.cpp \
-        ver4_patricia_trie_policy.cpp \
-        ver4_patricia_trie_reading_utils.cpp \
-        ver4_patricia_trie_writing_helper.cpp \
-        ver4_pt_node_array_reader.cpp) \
-    $(addprefix dictionary/structure/v4/content/, \
-        dynamic_language_model_probability_utils.cpp \
-        language_model_dict_content.cpp \
-        language_model_dict_content_global_counters.cpp \
-        shortcut_dict_content.cpp \
-        sparse_table_dict_content.cpp \
-        terminal_position_lookup_table.cpp) \
-    $(addprefix dictionary/utils/, \
-        buffer_with_extendable_buffer.cpp \
-        byte_array_utils.cpp \
-        dict_file_writing_utils.cpp \
-        file_utils.cpp \
-        forgetting_curve_utils.cpp \
-        format_utils.cpp \
-        mmapped_buffer.cpp \
-        multi_bigram_map.cpp \
-        probability_utils.cpp \
-        sparse_table.cpp \
-        trie_map.cpp ) \
-    suggest/core/suggest.cpp \
-    $(addprefix suggest/core/dicnode/, \
-        dic_node.cpp \
-        dic_node_utils.cpp \
-        dic_nodes_cache.cpp) \
-    $(addprefix suggest/core/dictionary/, \
-        dictionary.cpp \
-        dictionary_utils.cpp \
-        digraph_utils.cpp \
-        error_type_utils.cpp ) \
-    $(addprefix suggest/core/layout/, \
-        additional_proximity_chars.cpp \
-        proximity_info.cpp \
-        proximity_info_params.cpp \
-        proximity_info_state.cpp \
-        proximity_info_state_utils.cpp) \
-    suggest/core/policy/weighting.cpp \
-    suggest/core/session/dic_traverse_session.cpp \
-    $(addprefix suggest/core/result/, \
-        suggestion_results.cpp \
-        suggestions_output_utils.cpp) \
-    suggest/policyimpl/gesture/gesture_suggest_policy_factory.cpp \
-    $(addprefix suggest/policyimpl/typing/, \
-        scoring_params.cpp \
-        typing_scoring.cpp \
-        typing_suggest_policy.cpp \
-        typing_traversal.cpp \
-        typing_weighting.cpp) \
-    $(addprefix utils/, \
-        autocorrection_threshold_utils.cpp \
-        char_utils.cpp \
-        jni_data_utils.cpp \
-        log_utils.cpp \
-        time_keeper.cpp)
-
-LATIN_IME_CORE_SRC_FILES_BACKWARD_V402 := \
-    $(addprefix dictionary/structure/backward/v402/, \
-        ver4_dict_buffers.cpp \
-        ver4_dict_constants.cpp \
-        ver4_patricia_trie_node_reader.cpp \
-        ver4_patricia_trie_node_writer.cpp \
-        ver4_patricia_trie_policy.cpp \
-        ver4_patricia_trie_reading_utils.cpp \
-        ver4_patricia_trie_writing_helper.cpp \
-        ver4_pt_node_array_reader.cpp) \
-    $(addprefix dictionary/structure/backward/v402/content/, \
-        bigram_dict_content.cpp \
-        probability_dict_content.cpp \
-        shortcut_dict_content.cpp \
-        sparse_table_dict_content.cpp \
-        terminal_position_lookup_table.cpp) \
-    $(addprefix dictionary/structure/backward/v402/bigram/, \
-        ver4_bigram_list_policy.cpp)
-
-LATIN_IME_CORE_SRC_FILES += $(LATIN_IME_CORE_SRC_FILES_BACKWARD_V402)
-
-LATIN_IME_CORE_TEST_FILES := \
-    defines_test.cpp \
-    dictionary/header/header_read_write_utils_test.cpp \
-    dictionary/structure/v4/content/language_model_dict_content_test.cpp \
-    dictionary/structure/v4/content/language_model_dict_content_global_counters_test.cpp \
-    dictionary/structure/v4/content/probability_entry_test.cpp \
-    dictionary/structure/v4/content/terminal_position_lookup_table_test.cpp \
-    dictionary/utils/bloom_filter_test.cpp \
-    dictionary/utils/buffer_with_extendable_buffer_test.cpp \
-    dictionary/utils/byte_array_utils_test.cpp \
-    dictionary/utils/format_utils_test.cpp \
-    dictionary/utils/probability_utils_test.cpp \
-    dictionary/utils/sparse_table_test.cpp \
-    dictionary/utils/trie_map_test.cpp \
-    suggest/core/dicnode/dic_node_pool_test.cpp \
-    suggest/core/layout/geometry_utils_test.cpp \
-    suggest/core/layout/normal_distribution_2d_test.cpp \
-    suggest/policyimpl/utils/damerau_levenshtein_edit_distance_policy_test.cpp \
-    utils/autocorrection_threshold_utils_test.cpp \
-    utils/char_utils_test.cpp \
-    utils/int_array_view_test.cpp \
-    utils/time_keeper_test.cpp
diff --git a/native/jni/TargetUnitTests.mk b/native/jni/TargetUnitTests.mk
deleted file mode 100644
index 32aada0..0000000
--- a/native/jni/TargetUnitTests.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-LOCAL_PATH := $(call my-dir)
-
-######################################
-include $(CLEAR_VARS)
-
-include $(LOCAL_PATH)/NativeFileList.mk
-
-#################### Target library for unit test
-LATIN_IME_SRC_DIR := src
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function -Wall -Werror
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-LOCAL_MODULE := liblatinime_target_static_for_unittests
-LOCAL_MODULE_TAGS := optional
-LOCAL_SRC_FILES := $(addprefix $(LATIN_IME_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
-LOCAL_SDK_VERSION := 14
-LOCAL_NDK_STL_VARIANT := c++_static
-include $(BUILD_STATIC_LIBRARY)
-
-#################### Target native tests
-include $(CLEAR_VARS)
-LATIN_IME_TEST_SRC_DIR := tests
-LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function -Wall -Werror
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_SRC_DIR)
-LOCAL_MODULE := liblatinime_target_unittests
-LOCAL_MODULE_TAGS := tests
-LOCAL_SRC_FILES :=  \
-    $(addprefix $(LATIN_IME_TEST_SRC_DIR)/, $(LATIN_IME_CORE_TEST_FILES))
-LOCAL_STATIC_LIBRARIES += liblatinime_target_static_for_unittests
-LOCAL_SDK_VERSION := 14
-LOCAL_NDK_STL_VARIANT := c++_static
-include $(BUILD_NATIVE_TEST)
-
-#################### Clean up the tmp vars
-LATIN_IME_SRC_DIR :=
-LATIN_IME_TEST_SRC_DIR :=
-include $(LOCAL_PATH)/CleanupNativeFileList.mk
