Обновите настройки сборки для гобоя.

Есть два способа включить библиотеку Oboe в ваш проект.

Интегрируйте гобой с Gradle и CMake

Эти инструкции предназначены для проектов, использующих плагин Android Gradle версии 4.1.0 или выше, использующий собственные зависимости с CMake.

Если в вашем проекте вместо CMake используется плагин Android Gradle версии 4.0 или ndk-build , процесс немного отличается. См. Использование собственных зависимостей .

Обновить build.gradle

Чтобы добавить гобой в свое приложение при использовании плагина Android Gradle версии 4.1.0 или выше, внесите следующие дополнения в файл build.gradle вашего приложения.

  1. Добавьте зависимость oboe в раздел dependencies . При необходимости замените 1.5.0 на последнюю стабильную версию Гобоя:

    dependencies {
        implementation 'com.google.oboe:oboe:1.5.0'
    }
    
  2. Включите опцию prefab в разделе buildFeatures .

    android {
        buildFeatures {
            prefab true
        }
    }
    
  3. Настройте свое приложение для использования общего STL:

    android {
        defaultConfig {
            externalNativeBuild {
                cmake {
                    arguments "-DANDROID_STL=c++_shared"
                }
            }
        }
    }
    

Обновить CMakeLists.txt

Для добавления гобоя необходимо добавить два дополнения в файл CMakeLists.txt вашего приложения.

  1. Добавьте следующую команду find_package :

    find_package (oboe REQUIRED CONFIG)
    
  2. Добавьте oboe::oboe в список библиотек, переданных команде target_link_libraries , связанной с вашим основным исполняемым файлом.

Интеграция с Android Game SDK

  1. Загрузите библиотеку и проверьте ее в своей системе контроля версий.

  2. Внесите следующие изменения в настройки сборки вашего проекта.

Статическая библиотека

При интеграции с Android Game SDK вы статически связываетесь с версией библиотеки Oboe, скомпилированной для заданной комбинации ABI, уровня API, NDK и STL:

  1. Добавьте gamesdk/include в пути включения вашего компилятора.
  2. Добавьте путь следующей формы в пути к вашей библиотеке компоновщика:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
    

    Например: gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release

  3. Добавьте -loboe_static в команду компоновщика.

Вам не нужно связывать общую библиотеку liboboe.so , а это означает, что статическое связывание позволяет сократить объем кода.

Общая библиотека

Если комбинация ABI, уровня API, NDK и STL, необходимая для статической библиотеки, недоступна для ваших настроек, вместо этого вы можете связать ее с общей библиотекой:

  1. Выполните шаги 1 и 2 из предыдущего раздела (о статической библиотеке), чтобы обновить пути включения компилятора и использовать соответствующий файл заголовка.

  2. Добавьте путь следующей формы в пути к вашей библиотеке компоновщика:

    gamesdk/libs/architectureAPIapiLevelNDKndkVersion_stlVersion_Release/lib/oboe

  3. Add -loboe -lOpenSLES to your linker command.

Using CMake (static library only)

If you're using CMake, see the gamesdk/samples/bouncyball/app/CMakeLists.txt file in the downloaded SDK for an example CMake configuration. It includes a utility file called gamesdk/samples/gamesdk.cmake, which performs final checks, adds the proper compiler include paths, and generates a target that you can use to link the library.

To use the gamesdk.cmake utility:

  1. Include this file in your CMakeLists.txt:

    // Use a relative or absolute path. For example, /home/yourusername/gamesdk
    // or C:\Android\gamesdk.
    include("path/to/gamesdk/samples/gamesdk.cmake")
    
  2. Вызовите функцию add_gamesdk_target с папкой, содержащей gamesdk:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. В target_link_libraries вашей родной библиотеки добавьте oboe в качестве зависимости:

    // The casing of OpenSLES is important.
    target_link_libraries(native-lib oboe OpenSLES ...) 
    

Дополнительные сведения об использовании CMake см. в исходном файле gamesdk.cmake .

Следующие шаги: использование гобоя

Чтобы воспроизводить или записывать звук с помощью гобоя, создайте и активируйте один или несколько аудиопотоков и используйте обратные вызовы для обмена звуком между вашими устройствами ввода/вывода звука и вашим приложением. См. « Использование гобоя» .