Obue kitaplığını projenize eklemenin iki yolu vardır.
Obua'yı Gradle ve CMake ile entegre etme
Bu talimatlar, CMake ile Android Gradle eklentisi 4.1.0 veya üzeri kullanan yerel bağımlılıkları kullanan projeler içindir.
Projeniz, CMake yerine Android Gradle eklentisi 4.0 sürümünü veya ndk-build
sürümünü kullanıyorsa süreç biraz daha farklıdır. Yerel bağımlılıkları kullanma bölümüne bakın.
build.gradle dosyasını güncelleyin
Android Gradle eklentisi 4.1.0 veya sonraki bir sürümünü kullanırken Oboe'yu uygulamanıza eklemek için uygulamanızın build.gradle
dosyasına aşağıdaki eklemeleri yapın.
oboe
bağımlılığınıdependencies
bölümüne ekleyin. Gerekirse1.5.0
dosyasını Oboe'nun en son kararlı sürümüyle değiştirin:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
buildFeatures
bölümündeprefab
seçeneğini etkinleştirin.android { buildFeatures { prefab true } }
Uygulamanızı paylaşılan STL'yi kullanacak şekilde yapılandırın:
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
CMakeLists.txt dosyasını güncelleme
Obua'yı eklemek için uygulamanızın CMakeLists.txt
dosyasına iki kez eklenmesi gerekir.
Aşağıdaki
find_package
komutunu ekleyin:find_package (oboe REQUIRED CONFIG)
Ana yürütülebilir dosyanızla ilişkili
target_link_libraries
komutuna iletilen kitaplık listesineoboe::oboe
ekleyin.
Android Oyun SDK'sı ile entegre et
Kitaplığı indirin ve kaynak kontrol sisteminizde kontrol edin.
Projenizin derleme ayarlarında aşağıdaki değişiklikleri yapın.
Statik kitaplık
Android Oyun SDK'sı ile entegrasyon yaptığınızda, belirli ABI, API düzeyi, NDK ve STL kombinasyonu için derlenmiş bir Oboe kitaplığı sürümüne statik olarak bağlantı verirsiniz:
- Derleyicinize yol dahil etmek için
gamesdk/include
ekleyin. Bağlayıcı kitaplığı yollarınıza aşağıdaki formun bir yolunu ekleyin:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
Örneğin:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
Bağlayıcı komutunuza
-loboe_static
komutunu ekleyin.
liboboe.so
paylaşılan kitaplığını gruplandırmanız gerekmez. Yani statik bağlantı size çok daha küçük bir kod ayak izi sağlar.
Paylaşılan kitaplık
Statik kitaplık için gereken ABI, API düzeyi, NDK ve STL kombinasyonu ayarlarınızda kullanılamıyorsa bunun yerine paylaşılan kitaplıkla bağlantı oluşturabilirsiniz:
Derleyicinizi güncellemek için önceki bölümde (statik kitaplık hakkında) 1. ve 2. adımları izleyin ve uygun üstbilgi dosyasını kullanın.
Bağlayıcı kitaplığı yollarınıza aşağıdaki formun bir yolunu ekleyin:
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")
add_gamesdk_target
işlevini, gamesdk'yı içeren klasörle çağırın:// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
Yerel kitaplığınızdaki
target_link_libraries
bölümünde, bağımlılık olarakoboe
öğesini ekleyin:// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
CMake'in gelişmiş kullanımı için gamesdk.cmake
kaynak dosyasını inceleyin.
Sonraki adımlar: Obua'yı kullanma
Oboe ile ses çalmak veya kaydetmek için bir veya daha fazla ses akışı oluşturup etkinleştirin ve ses giriş/çıkış cihazlarınız ile uygulamanız arasında ses alışverişi yapmak için geri çağırmaları kullanın. Oboe'yu kullanma konusuna bakın.