Ada dua cara untuk menyertakan library Oboe ke dalam project Anda.
Mengintegrasikan Oboe dengan Gradle dan CMake
Petunjuk ini ditujukan untuk project yang menggunakan plugin Android Gradle versi 4.1.0 atau yang lebih baru menggunakan dependensi native dengan CMake.
Jika project Anda menggunakan plugin Android Gradle versi 4.0 atau
ndk-build
dan bukan CMake, prosesnya akan sedikit berbeda. Lihat Menggunakan dependensi native.
Memperbarui build.gradle
Untuk menambahkan Oboe ke aplikasi Anda saat menggunakan plugin Android Gradle versi 4.1.0 atau
yang lebih baru, lakukan penambahan berikut ke file build.gradle
aplikasi Anda.
Tambahkan dependensi
oboe
ke bagiandependencies
. Jika perlu, ganti1.5.0
dengan versi stabil terbaru dari Oboe:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
Aktifkan opsi
prefab
di bagianbuildFeatures
.android { buildFeatures { prefab true } }
Konfigurasikan aplikasi Anda untuk menggunakan STL bersama:
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
Memperbarui CMakeLists.txt
Untuk menambahkan Oboe, Anda harus melakukan dua penambahan ke file CMakeLists.txt
aplikasi.
Tambahkan perintah
find_package
berikut:find_package (oboe REQUIRED CONFIG)
Tambahkan
oboe::oboe
ke daftar library yang diteruskan ke perintahtarget_link_libraries
yang terkait dengan file utama yang dapat dieksekusi.
Mengintegrasikan dengan Android Game SDK
Download library dan periksa di sistem kontrol sumber Anda.
Lakukan perubahan berikut pada setelan build project Anda.
Library statis
Saat mengintegrasikan dengan Android Game SDK, Anda secara statis menautkan ke versi library Oboe yang dikompilasi untuk kombinasi ABI, API level, NDK, dan STL tertentu:
- Tambahkan
gamesdk/include
ke jalur penyertaan compiler. Tambahkan jalur dari formulir berikut di jalur library linker Anda:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
Contoh:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
Tambahkan
-loboe_static
ke perintah linker Anda.
Anda tidak harus memaketkan library bersama liboboe.so
, artinya penautan
statis memberi Anda jejak kode yang jauh lebih kecil.
Library bersama
Jika kombinasi ABI, API level, NDK, dan STL yang diperlukan untuk library statis tidak tersedia untuk setelan Anda, sebagai gantinya Anda dapat menautkan ke library bersama:
Ikuti langkah 1 dan 2 dari bagian sebelumnya (tentang library statis) untuk memperbarui jalur penyertaan compiler, dan menggunakan file header yang sesuai.
Tambahkan jalur dari formulir berikut di jalur library penaut Anda:
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")
Panggil fungsi
add_gamesdk_target
dengan folder berisi gamesdk:// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
Dalam
target_link_libraries
untuk library native, tambahkanoboe
sebagai dependensi:// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
Untuk penggunaan CMake lanjutan, lihat gamesdk.cmake
file sumber.
Langkah berikutnya: menggunakan Oboe
Untuk memutar atau merekam audio dengan Oboe, buat dan aktifkan satu atau beberapa streaming audio, lalu gunakan callback untuk bertukar audio antara perangkat input/output audio dan aplikasi Anda. Lihat Menggunakan Oboe.