До выпуска Android 7.0 Android использовала исключительно GNU Make для описания и выполнения правил сборки. Система сборки Make широко поддерживается и используется, но в масштабах Android стала медленной, подверженной ошибкам, немасштабируемой и сложной для тестирования. Система сборки Soong обеспечивает необходимую гибкость для сборок Android. Мы вносим значительные изменения в систему сборки Android, объявляя устаревшей систему сборки Make ( Android.mk ) и заменяя её на Soong ( Android.bp ). 
По этой причине разработчикам платформ следует как можно скорее перейти с Make на Soong. Задавайте вопросы в Google-группу Android Building, чтобы получить поддержку.
Что такое Сунг?
Система сборки Soong была представлена в Android 7.0 (Nougat) на замену Make. Она использует инструмент клонирования Kati GNU Make и компонент системы сборки Ninja для ускорения сборки Android.
Общие инструкции см. в описании системы сборки Android Make в проекте Android Open Source Project (AOSP), а также в разделе «Изменения системы сборки для разработчиков Android.mk», где рассказывается об изменениях, необходимых для адаптации Make к Soong. Определения ключевых терминов см. в разделах глоссария , посвященных сборке , и в справочнике модулей Soong для получения полной информации.
Сравнение Марка и Сунга
 Ниже приведено сравнение конфигурации Make с Soong, обеспечивающее тот же результат в файле конфигурации Soong (Blueprint или .bp ).
Подайте пример
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libxmlrpc++
LOCAL_MODULE_HOST_OS := linux
LOCAL_RTTI_FLAG := -frtti
LOCAL_CPPFLAGS := -Wall -Werror -fexceptions
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/src
LOCAL_SRC_FILES := $(call \
     all-cpp-files-under,src)
include $(BUILD_SHARED_LIBRARY)
Пример Сонга
cc_library_shared {
     name: "libxmlrpc++",
     rtti: true,
     cppflags: [
           "-Wall",
           "-Werror",
           "-fexceptions",
     ],
     export_include_dirs: ["src"],
     srcs: ["src/**/*.cpp"],
     target: {
           darwin: {
                enabled: false,
           },
     },
}
Примеры конфигурации Soong для конкретных тестов см. в разделе Простая конфигурация сборки .
Основная процедура преобразования
 Преобразование файла Android.mk в файл Android.bp обычно выполняется по следующей схеме с использованием вспомогательного инструмента androidmk . Обычно процесс преобразования включает следующие этапы.
- Настройте среду терминала и соберите инструмент - androidmk.- androidmk— это утилита командной строки, которая анализирует файл- Android.mkи пытается создать аналогичный файл- Android.bp. Она может преобразовать большинство файлов- Android.mkв- Android.bp практически без ручного редактирования.- cd <root-of-the-tree> source build/envsetup.sh lunch <lunch-target> m androidmk
- Сборка с помощью - Android.mk:- sh m <module-name>
- Запустите инструмент преобразования - androidmk:- sh androidmk <path-to-Android.mk>/Android.mk > <path-to-Android.bp>/Android.bp
- Вручную отредактируйте файл - Android.bp:-  Устраните все предупреждения, выдаваемые инструментом androidmk.
- Сохраните или добавьте заголовок об авторских правах. При добавлении нового заголовка используйте текущий год.
 
-  Устраните все предупреждения, выдаваемые инструментом 
- Удалите файл - Android.mkи выполните сборку с использованием файла- Android.bp.
- Проверьте правильность преобразования, сравнив созданные артефакты или выполнив модульные и функциональные тесты. 
- Сохраните изменения и загрузите для проверки. 
Более подробную информацию см. в описании формата файла Android.bp .