Esistono due modi per incorporare la raccolta di oboe nel tuo progetto.
Integra Oboe con Gradle e CMake
Queste istruzioni sono relative ai progetti che utilizzano il plug-in Android per Gradle 4.1.0 o versione successiva e utilizzano dipendenze native con CMake.
Se il tuo progetto utilizza il plug-in Android per Gradle versione 4.0 o ndk-build
anziché CMake, la procedura è leggermente diversa. Consulta la sezione Utilizzo delle dipendenze native.
Aggiorna build.gradle
Per aggiungere Oboe alla tua app mentre utilizzi il plug-in Android per Gradle versione 4.1.0 o successiva, aggiungi le seguenti aggiunte al file build.gradle
della tua app.
Aggiungi la dipendenza
oboe
alla sezionedependencies
. Se necessario, sostituisci1.5.0
con l'ultima versione stabile di Oboe:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
Attiva l'opzione
prefab
nella sezionebuildFeatures
.android { buildFeatures { prefab true } }
Configura l'app per l'utilizzo del codice STL condiviso:
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
Aggiorna CMakeLists.txt
L'aggiunta di Oboe richiede due aggiunte al file CMakeLists.txt
dell'app.
Aggiungi il seguente comando
find_package
:find_package (oboe REQUIRED CONFIG)
Aggiungi
oboe::oboe
all'elenco delle librerie passate al comandotarget_link_libraries
associato al tuo eseguibile principale.
Integrazione con l'SDK Android Game
Scarica la libreria e registrala nel tuo sistema di controllo del codice sorgente.
Apporta le seguenti modifiche alle impostazioni di build del progetto.
Libreria statica
Quando esegui l'integrazione con l'SDK Android Game, ti colleghi in modo statico a una versione della libreria Oboe compilata per la combinazione ABI, livello API, NDK e STL specificati:
- Aggiungi
gamesdk/include
ai percorsi di inclusione del compilatore. Aggiungi un percorso del seguente modulo nei percorsi della libreria dei linker:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
Ad esempio:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
Aggiungi
-loboe_static
al comando linker.
Non è necessario raggruppare la libreria condivisa liboboe.so
, il che significa che i collegamenti statici offrono un ingombro di codice molto più ridotto.
Libreria condivisa
Se la combinazione di ABI, livello API, NDK e STL richiesta per una libreria statica non è disponibile per le tue impostazioni, puoi collegarti alla libreria condivisa:
Segui i passaggi 1 e 2 della sezione precedente (informazioni sulla libreria statica) per aggiornare i percorsi di inclusione del compilatore e utilizzare il file di intestazione appropriato.
Aggiungi un percorso del seguente modulo nei percorsi della libreria dei linker:
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")
Richiama la funzione
add_gamesdk_target
con la cartella contenente l'SDK del gioco:// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
In
target_link_libraries
per la libreria nativa, aggiungioboe
come dipendenza:// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
Per un utilizzo avanzato di CMake, consulta il file di origine gamesdk.cmake
.
Passaggi successivi: uso dell'oboe
Per riprodurre o registrare audio con Oboe, crea e attiva uno o più stream audio e utilizza i callback per scambiare l'audio tra i tuoi dispositivi di input/output audio e la tua app. Consulta la pagina relativa all'utilizzo di Oboe.