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

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

Интеграция Oboe с Gradle и CMake

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

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

Обновить build.gradle

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

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

    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

Для добавления Oboe требуется внести два дополнения в файл 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 .

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

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