diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..c2589de
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,267 @@
+// Copyright (C) 2016 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.
+
+cc_defaults {
+    name: "wificond_defaults",
+
+    cppflags: [
+        "-Wall",
+        "-Werror",
+        "-Wno-unused-parameter",
+    ],
+    include_dirs: ["system/connectivity"],
+}
+
+//
+// wificond daemon.
+//
+cc_binary {
+    name: "wificond",
+    defaults: ["wificond_defaults"],
+    init_rc: ["wificond.rc"],
+    srcs: ["main.cpp"],
+
+    shared_libs: [
+        "android.hardware.wifi.offload@1.0",
+        "libbinder",
+        "libbase",
+        "libcutils",
+        "libhidlbase",
+        "libhidltransport",
+        "libminijail",
+        "libutils",
+        "libwifi-system",
+        "libwifi-system-iface",
+    ],
+    static_libs: ["libwificond"],
+}
+
+//
+// wificond static library
+//
+cc_library_static {
+    name: "libwificond",
+    defaults: ["wificond_defaults"],
+    srcs: [
+        "ap_interface_binder.cpp",
+        "ap_interface_impl.cpp",
+        "client_interface_binder.cpp",
+        "client_interface_impl.cpp",
+        "logging_utils.cpp",
+        "scanning/channel_settings.cpp",
+        "scanning/hidden_network.cpp",
+        "scanning/offload_scan_callback_interface_impl.cpp",
+        "scanning/pno_network.cpp",
+        "scanning/pno_settings.cpp",
+        "scanning/radio_chain_info.cpp",
+        "scanning/scan_result.cpp",
+        "scanning/offload/scan_stats.cpp",
+        "scanning/single_scan_settings.cpp",
+        "scanning/scan_utils.cpp",
+        "scanning/scanner_impl.cpp",
+        "scanning/offload/offload_scan_manager.cpp",
+        "scanning/offload/offload_callback.cpp",
+        "scanning/offload/offload_service_utils.cpp",
+        "scanning/offload/offload_scan_utils.cpp",
+        "server.cpp",
+    ],
+
+    shared_libs: [
+        "android.hardware.wifi.offload@1.0",
+        "libbase",
+        "libutils",
+        "libhidlbase",
+        "libhidltransport",
+        "libwifi-system",
+        "libwifi-system-iface",
+    ],
+    whole_static_libs: [
+        "libwificond_ipc",
+        "libwificond_nl",
+        "libwificond_event_loop",
+    ],
+}
+
+//
+// wificond netlink library
+//
+cc_library_static {
+    name: "libwificond_nl",
+    defaults: ["wificond_defaults"],
+    srcs: [
+        "net/mlme_event.cpp",
+        "net/netlink_manager.cpp",
+        "net/netlink_utils.cpp",
+        "net/nl80211_attribute.cpp",
+        "net/nl80211_packet.cpp",
+    ],
+    shared_libs: ["libbase"],
+
+}
+
+//
+// wificond event loop library
+//
+cc_library_static {
+    name: "libwificond_event_loop",
+    defaults: ["wificond_defaults"],
+    srcs: ["looper_backed_event_loop.cpp"],
+    whole_static_libs: [
+        "liblog",
+        "libbase",
+        "libutils",
+    ],
+
+}
+
+//
+// wificond IPC interface library
+//
+cc_library_static {
+    name: "libwificond_ipc",
+    defaults: ["wificond_defaults"],
+    aidl: {
+        local_include_dirs: ["aidl"],
+        export_aidl_headers: true,
+    },
+    srcs: [
+        "ipc_constants.cpp",
+        "aidl/android/net/wifi/IApInterface.aidl",
+        "aidl/android/net/wifi/IApInterfaceEventCallback.aidl",
+        "aidl/android/net/wifi/IClientInterface.aidl",
+        "aidl/android/net/wifi/IInterfaceEventCallback.aidl",
+        "aidl/android/net/wifi/IPnoScanEvent.aidl",
+        "aidl/android/net/wifi/IScanEvent.aidl",
+        "aidl/android/net/wifi/IWificond.aidl",
+        "aidl/android/net/wifi/IWifiScannerImpl.aidl",
+        "scanning/channel_settings.cpp",
+        "scanning/hidden_network.cpp",
+        "scanning/pno_network.cpp",
+        "scanning/pno_settings.cpp",
+        "scanning/radio_chain_info.cpp",
+        "scanning/scan_result.cpp",
+        "scanning/single_scan_settings.cpp",
+    ],
+    shared_libs: ["libbinder"],
+}
+
+//
+// test util library
+//
+cc_library_static {
+    name: "libwificond_test_utils",
+    defaults: ["wificond_defaults"],
+    srcs: [
+        "tests/integration/binder_dispatcher.cpp",
+        "tests/integration/process_utils.cpp",
+        "tests/shell_utils.cpp",
+    ],
+    shared_libs: ["libbase"],
+
+    whole_static_libs: [
+        "libwificond_ipc",
+        "libwificond_event_loop",
+    ],
+}
+
+//
+// wificond unit tests.
+//
+cc_test {
+    name: "wificond_unit_test",
+    defaults: ["wificond_defaults"],
+    test_suites: ["device-tests"],
+    srcs: [
+        "tests/ap_interface_impl_unittest.cpp",
+        "tests/client_interface_impl_unittest.cpp",
+        "tests/looper_backed_event_loop_unittest.cpp",
+        "tests/main.cpp",
+        "tests/mock_client_interface_impl.cpp",
+        "tests/mock_netlink_manager.cpp",
+        "tests/mock_netlink_utils.cpp",
+        "tests/mock_offload.cpp",
+        "tests/mock_offload_callback_handlers.cpp",
+        "tests/mock_offload_scan_callback_interface.cpp",
+        "tests/mock_offload_scan_callback_interface_impl.cpp",
+        "tests/mock_offload_scan_manager.cpp",
+        "tests/mock_offload_service_utils.cpp",
+        "tests/mock_scan_utils.cpp",
+        "tests/netlink_manager_unittest.cpp",
+        "tests/netlink_utils_unittest.cpp",
+        "tests/nl80211_attribute_unittest.cpp",
+        "tests/nl80211_packet_unittest.cpp",
+        "tests/offload_callback_test.cpp",
+        "tests/offload_hal_test_constants.cpp",
+        "tests/offload_scan_manager_test.cpp",
+        "tests/offload_scan_utils_test.cpp",
+        "tests/offload_test_utils.cpp",
+        "tests/scanner_unittest.cpp",
+        "tests/scan_result_unittest.cpp",
+        "tests/scan_settings_unittest.cpp",
+        "tests/scan_stats_unittest.cpp",
+        "tests/scan_utils_unittest.cpp",
+        "tests/server_unittest.cpp",
+    ],
+
+    static_libs: [
+        "libgmock",
+        "libgtest",
+        "libwifi-system-test",
+        "libwifi-system-iface-test",
+        "libwificond",
+        "libwificond_nl",
+    ],
+    shared_libs: [
+        "android.hardware.wifi.offload@1.0",
+        "libbase",
+        "libbinder",
+        "libcutils",
+        "libhidltransport",
+        "libhidlbase",
+        "liblog",
+        "libutils",
+        "libwifi-system",
+        "libwifi-system-iface",
+    ],
+}
+
+//
+// wificond device integration tests.
+//
+cc_test {
+    name: "wificond_integration_test",
+    defaults: ["wificond_defaults"],
+    srcs: [
+        "tests/integration/ap_interface_test.cpp",
+        "tests/integration/client_interface_test.cpp",
+        "tests/integration/life_cycle_test.cpp",
+        "tests/integration/scanner_test.cpp",
+        "tests/integration/service_test.cpp",
+        "tests/main.cpp",
+        "tests/shell_unittest.cpp",
+    ],
+    shared_libs: [
+        "libbase",
+        "libbinder",
+        "libcutils",
+        "libutils",
+        "libwifi-system",
+        "libwifi-system-iface",
+    ],
+    static_libs: [
+        "libgmock",
+        "libwificond_ipc",
+        "libwificond_test_utils",
+    ],
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index daa3926..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,253 +0,0 @@
-# Copyright (C) 2016 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)
-wificond_cpp_flags := -Wall -Werror -Wno-unused-parameter
-wificond_parent_dir := $(LOCAL_PATH)/../
-wificond_includes := \
-    $(wificond_parent_dir)
-
-
-###
-### wificond daemon.
-###
-include $(CLEAR_VARS)
-LOCAL_MODULE := wificond
-LOCAL_CPPFLAGS := $(wificond_cpp_flags)
-LOCAL_INIT_RC := wificond.rc
-LOCAL_C_INCLUDES := $(wificond_includes)
-LOCAL_SRC_FILES := \
-    main.cpp
-LOCAL_SHARED_LIBRARIES := \
-    android.hardware.wifi.offload@1.0 \
-    libbinder \
-    libbase \
-    libcutils \
-    libhidlbase \
-    libhidltransport \
-    libminijail \
-    libutils \
-    libwifi-system \
-    libwifi-system-iface
-LOCAL_STATIC_LIBRARIES := \
-    libwificond
-include $(BUILD_EXECUTABLE)
-
-###
-### wificond static library
-###
-include $(CLEAR_VARS)
-LOCAL_MODULE := libwificond
-LOCAL_CPPFLAGS := $(wificond_cpp_flags)
-LOCAL_C_INCLUDES := $(wificond_includes)
-LOCAL_SRC_FILES := \
-    ap_interface_binder.cpp \
-    ap_interface_impl.cpp \
-    client_interface_binder.cpp \
-    client_interface_impl.cpp \
-    logging_utils.cpp \
-    scanning/channel_settings.cpp \
-    scanning/hidden_network.cpp \
-    scanning/offload_scan_callback_interface_impl.cpp \
-    scanning/pno_network.cpp \
-    scanning/pno_settings.cpp \
-    scanning/radio_chain_info.cpp \
-    scanning/scan_result.cpp \
-    scanning/offload/scan_stats.cpp \
-    scanning/single_scan_settings.cpp \
-    scanning/scan_utils.cpp \
-    scanning/scanner_impl.cpp \
-    scanning/offload/offload_scan_manager.cpp \
-    scanning/offload/offload_callback.cpp \
-    scanning/offload/offload_service_utils.cpp \
-    scanning/offload/offload_scan_utils.cpp \
-    server.cpp
-LOCAL_SHARED_LIBRARIES := \
-    android.hardware.wifi.offload@1.0 \
-    libbase \
-    libutils \
-    libhidlbase \
-    libhidltransport \
-    libwifi-system \
-    libwifi-system-iface
-LOCAL_WHOLE_STATIC_LIBRARIES := \
-    libwificond_ipc \
-    libwificond_nl \
-    libwificond_event_loop
-include $(BUILD_STATIC_LIBRARY)
-
-###
-### wificond netlink library
-###
-include $(CLEAR_VARS)
-LOCAL_MODULE := libwificond_nl
-LOCAL_CPPFLAGS := $(wificond_cpp_flags)
-LOCAL_C_INCLUDES := $(wificond_includes)
-LOCAL_SRC_FILES := \
-    net/mlme_event.cpp \
-    net/netlink_manager.cpp \
-    net/netlink_utils.cpp \
-    net/nl80211_attribute.cpp \
-    net/nl80211_packet.cpp
-LOCAL_SHARED_LIBRARIES := \
-    libbase
-include $(BUILD_STATIC_LIBRARY)
-
-###
-### wificond event loop library
-###
-include $(CLEAR_VARS)
-LOCAL_MODULE := libwificond_event_loop
-LOCAL_CPPFLAGS := $(wificond_cpp_flags)
-LOCAL_C_INCLUDES := $(wificond_includes)
-LOCAL_SRC_FILES := \
-    looper_backed_event_loop.cpp
-LOCAL_WHOLE_STATIC_LIBRARIES := \
-    liblog \
-    libbase \
-    libutils
-include $(BUILD_STATIC_LIBRARY)
-
-###
-### wificond IPC interface library
-###
-include $(CLEAR_VARS)
-LOCAL_MODULE := libwificond_ipc
-LOCAL_AIDL_INCLUDES += $(LOCAL_PATH)/aidl
-LOCAL_C_INCLUDES := $(wificond_includes)
-LOCAL_CPPFLAGS := $(wificond_cpp_flags)
-LOCAL_SRC_FILES := \
-    ipc_constants.cpp \
-    aidl/android/net/wifi/IApInterface.aidl \
-    aidl/android/net/wifi/IApInterfaceEventCallback.aidl \
-    aidl/android/net/wifi/IClientInterface.aidl \
-    aidl/android/net/wifi/IInterfaceEventCallback.aidl \
-    aidl/android/net/wifi/IPnoScanEvent.aidl \
-    aidl/android/net/wifi/IScanEvent.aidl \
-    aidl/android/net/wifi/IWificond.aidl \
-    aidl/android/net/wifi/IWifiScannerImpl.aidl \
-    scanning/channel_settings.cpp \
-    scanning/hidden_network.cpp \
-    scanning/pno_network.cpp \
-    scanning/pno_settings.cpp \
-    scanning/radio_chain_info.cpp \
-    scanning/scan_result.cpp \
-    scanning/single_scan_settings.cpp
-LOCAL_SHARED_LIBRARIES := \
-    libbinder
-include $(BUILD_STATIC_LIBRARY)
-
-###
-### test util library
-###
-include $(CLEAR_VARS)
-LOCAL_MODULE := libwificond_test_utils
-LOCAL_CPPFLAGS := $(wificond_cpp_flags)
-LOCAL_C_INCLUDES := $(wificond_includes)
-LOCAL_SRC_FILES := \
-    tests/integration/binder_dispatcher.cpp \
-    tests/integration/process_utils.cpp \
-    tests/shell_utils.cpp
-LOCAL_SHARED_LIBRARIES := \
-    libbase
-LOCAL_WHOLE_STATIC_LIBRARIES := \
-    libwificond_ipc \
-    libwificond_event_loop
-include $(BUILD_STATIC_LIBRARY)
-
-###
-### wificond unit tests.
-###
-include $(CLEAR_VARS)
-LOCAL_MODULE := wificond_unit_test
-LOCAL_COMPATIBILITY_SUITE := device-tests
-LOCAL_CPPFLAGS := $(wificond_cpp_flags)
-LOCAL_C_INCLUDES := $(wificond_includes)
-LOCAL_SRC_FILES := \
-    tests/ap_interface_impl_unittest.cpp \
-    tests/client_interface_impl_unittest.cpp \
-    tests/looper_backed_event_loop_unittest.cpp \
-    tests/main.cpp \
-    tests/mock_client_interface_impl.cpp \
-    tests/mock_netlink_manager.cpp \
-    tests/mock_netlink_utils.cpp \
-    tests/mock_offload.cpp \
-    tests/mock_offload_callback_handlers.cpp \
-    tests/mock_offload_scan_callback_interface.cpp \
-    tests/mock_offload_scan_callback_interface_impl.cpp \
-    tests/mock_offload_scan_manager.cpp \
-    tests/mock_offload_service_utils.cpp \
-    tests/mock_scan_utils.cpp \
-    tests/netlink_manager_unittest.cpp \
-    tests/netlink_utils_unittest.cpp \
-    tests/nl80211_attribute_unittest.cpp \
-    tests/nl80211_packet_unittest.cpp \
-    tests/offload_callback_test.cpp \
-    tests/offload_hal_test_constants.cpp \
-    tests/offload_scan_manager_test.cpp \
-    tests/offload_scan_utils_test.cpp \
-    tests/offload_test_utils.cpp \
-    tests/scanner_unittest.cpp \
-    tests/scan_result_unittest.cpp \
-    tests/scan_settings_unittest.cpp \
-    tests/scan_stats_unittest.cpp \
-    tests/scan_utils_unittest.cpp \
-    tests/server_unittest.cpp
-LOCAL_STATIC_LIBRARIES := \
-    libgmock \
-    libgtest \
-    libwifi-system-test \
-    libwifi-system-iface-test \
-    libwificond \
-    libwificond_nl
-LOCAL_SHARED_LIBRARIES := \
-    android.hardware.wifi.offload@1.0 \
-    libbase \
-    libbinder \
-    libcutils \
-    libhidltransport \
-    libhidlbase \
-    liblog \
-    libutils \
-    libwifi-system \
-    libwifi-system-iface
-include $(BUILD_NATIVE_TEST)
-
-###
-### wificond device integration tests.
-###
-include $(CLEAR_VARS)
-LOCAL_MODULE := wificond_integration_test
-LOCAL_CPPFLAGS := $(wificond_cpp_flags)
-LOCAL_C_INCLUDES := $(wificond_includes)
-LOCAL_SRC_FILES := \
-    tests/integration/ap_interface_test.cpp \
-    tests/integration/client_interface_test.cpp \
-    tests/integration/life_cycle_test.cpp \
-    tests/integration/scanner_test.cpp \
-    tests/integration/service_test.cpp \
-    tests/main.cpp \
-    tests/shell_unittest.cpp
-LOCAL_SHARED_LIBRARIES := \
-    libbase \
-    libbinder \
-    libcutils \
-    libutils \
-    libwifi-system \
-    libwifi-system-iface
-LOCAL_STATIC_LIBRARIES := \
-    libgmock \
-    libwificond_ipc \
-    libwificond_test_utils
-include $(BUILD_NATIVE_TEST)
