Obua kitaplığını projenize dahil etmenin iki yolu vardır.
Obuayı Gradle ve CMake ile entegre etme
Bu talimatlar, Android Gradle eklentisi 4.1.0 veya sonraki bir sürümü kullanan projeler içindir. yerel bağımlılıkları kullanarak kullanabilirsiniz.
Projenizde Android Gradle eklentisi 4.0 sürümü veya
CMake yerine ndk-build
için bu işlem 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 sürümünü kullanırken Obua'yı uygulamanıza eklemek için
daha yüksek olması durumunda 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
öğesini en son kararlı sürümle değiştirin Obua:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
buildFeatures
bölümündekiprefab
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 güncelleme
Oboe'yu eklemek için uygulamanızın CMakeLists.txt
dosyasına iki ekleme yapılması gerekiyor.
Aşağıdaki
find_package
komutunu ekleyin:find_package (oboe REQUIRED CONFIG)
oboe::oboe
dosyasını Yürütülebilir ana dosyanızla ilişkilitarget_link_libraries
komutu.
Android Oyun SDK'sı ile entegrasyon
Kitaplığı indirin ve kontrol edin kaynak kontrol sisteminize aktarın.
Projenizin derleme ayarlarında aşağıdaki değişiklikleri yapın.
Statik kitaplık
Android Oyun SDK'sı ile entegrasyon yaptığınızda, sabit olarak bir sürüme bağlantı verirsiniz. : belirtilen ABI, API düzeyi, NDK ve STL için derlenen Oboe kitaplığının kombinasyon:
gamesdk/include
öğesini derleyicinize yol ekleyin.Bağlayıcı kitaplığı yollarınıza aşağıdaki formun 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
ekleyin.
liboboe.so
paylaşılan kitaplığını paketlemenize gerek yoktur, yani statik
bağlantı çok daha küçük bir kod ayak izi sağlar.
Paylaşılan kitaplık
Statik bir kitaplık için ABI, API düzeyi, NDK ve STL kombinasyonu gerekiyorsa ayarlarınızda kullanılamıyor. Paylaşılan kitaplığa karşı bağlantı oluşturabilirsiniz aşağıdaki adımları uygulayabilirsiniz:
Önceki bölümde yer alan (statik kitaplık hakkında) 1. ve 2. adımları uygulayarak derleyicinizi güncelleyin ve uygun başlık dosyasını kullanın.
Bağlayıcı kitaplığı yollarınıza aşağıdaki formun 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")
Şu dosyayı içeren klasörle birlikte
add_gamesdk_target
işlevini çağırın: gamesdk:// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
Yerel kitaplığınız için
target_link_libraries
içinde Bağımlılık olarakoboe
:// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
CMake'in gelişmiş kullanımı için bkz. gamesdk.cmake
kaynak dosya.
Sonraki adımlar: Ooe'yu kullanma
Oboe ile ses çalmak veya kaydetmek için bir veya daha fazla ses oluşturup etkinleştirin akış gerçekleştirin ve ses giriş/çıkışınız arasında ses alışverişi yapmak için geri çağırmaları kullanın cihazlar ve uygulamanız. Bkz. Obua.