Oboe ライブラリをプロジェクトに組み込むには、2 つの方法があります。
Oboe を Gradle と CMake に統合する
以下の手順は、Android Gradle プラグイン バージョン 4.1.0 以降を使用しており、CMake でネイティブ依存関係を使用しているプロジェクトを対象としています。
プロジェクトで CMake ではなく Android Gradle プラグイン バージョン 4.0 または ndk-build を使用している場合、プロセスは若干異なります。ネイティブ依存関係の使用をご覧ください。
build.gradle を更新する
Android Gradle プラグイン バージョン 4.1.0 以降を使用しているときに、アプリに Oboe を追加するには、アプリの build.gradle ファイルに次の内容を追加します。
- dependenciesセクションに- oboe依存関係をに追加します。必要に応じて、- 1.5.0を 最新の安定版の Oboe に置き換えます。- dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
- buildFeaturesセクションで- prefabオプションを有効にします。- android { buildFeatures { prefab true } }
- 共有 STL を使用するようにアプリを設定します。 - android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
CMakeLists.txt を更新する
Oboe を追加するには、アプリの CMakeLists.txt ファイルに以下の 2 つを追加する必要があります。
- 次の - find_packageコマンドを追加します。- find_package (oboe REQUIRED CONFIG)
- main 実行可能ファイルに関連付けられた - target_link_librariesコマンドに渡されるライブラリのリストに- oboe::oboeを追加します。
Android Game SDK に統合する
- ライブラリをダウンロードして、ソース管理システムにチェックインします。 
- プロジェクトのビルド設定を次のように変更します。 
静的ライブラリ
Android Game SDK との統合では、指定した ABI、API レベル、NDK、STL の組み合わせのためにコンパイルされた Oboe ライブラリのバージョンに静的にリンクします。
- コンパイラのインクルード パスに gamesdk/includeを追加します。
- リンカー ライブラリのパスに、次の形式のパスを追加します。 - gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release - 例: - gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
- リンカー コマンドに - -loboe_staticを追加します。
liboboe.so 共有ライブラリをバンドルする必要はありません。静的リンクを使用するとコード フットプリントを大幅に削減できます。
共有ライブラリ
静的ライブラリに必要な ABI、API レベル、NDK、STL の組み合わせを設定で使用できない場合は、代わりに共有ライブラリにリンクできます。
- 静的ライブラリに関する前のセクションのステップ 1 と 2 に沿ってコンパイラのインクルード パスを更新し、適切なヘッダー ファイルを使用します。 
- リンカー ライブラリのパスに、次の形式のパスを追加します。 - gamesdk/libs/architectureAPIapiLevelNDKndkVersion_stlVersion_Release/lib/oboe 
- Add - -loboe -lOpenSLESto 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:
- 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")
- gamesdk を格納するフォルダを指定して - add_gamesdk_target関数を呼び出します:- // Use a relative or absolute path. - add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
- ネイティブ ライブラリの - target_link_librariesに、依存関係として- oboeを追加します:- // The casing of OpenSLES is important. - target_link_libraries(native-lib oboe OpenSLES ...)
CMake の高度な使用方法については、gamesdk.cmake ソースファイルをご覧ください。
次のステップ: Oboe を使用する
Oboe を使用して音声の再生や記録を行うには、1 つ以上のオーディオ ストリームを作成して有効にし、オーディオ入力/出力デバイスとアプリの間で音声を交換するためにコールバックを使用します。詳しくは、Oboe の使用をご覧ください。
