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 -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:
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 の使用をご覧ください。