Il existe deux façons d'intégrer la bibliothèque Oboe à votre projet.
Intégrer Oboe avec Gradle et CMake
Ces instructions concernent les projets utilisant le plug-in Android Gradle 4.1.0 ou version ultérieure avec des dépendances natives avec CMake.
Si votre projet utilise le plug-in Android Gradle 4.0 ou ndk-build
au lieu de CMake, la procédure est légèrement différente. Consultez la section Utiliser des dépendances natives.
Mettre à jour le fichier build.gradle
Pour ajouter Oboe à votre application avec le plug-in Android Gradle 4.1.0 ou version ultérieure, ajoutez les éléments suivants au fichier build.gradle
de votre application.
Ajoutez la dépendance
oboe
à la sectiondependencies
. Si nécessaire, remplacez1.5.0
par la dernière version stable d'Oboe :dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
Activez l'option
prefab
dans la sectionbuildFeatures
.android { buildFeatures { prefab true } }
Configurez votre application pour utiliser le STL partagé :
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
Mettre à jour le fichier CMakeLists.txt
Pour ajouter Oboe, vous devez ajouter deux éléments au fichier CMakeLists.txt
de votre application.
Ajoutez la commande
find_package
suivante :find_package (oboe REQUIRED CONFIG)
Ajoutez
oboe::oboe
à la liste des bibliothèques transmises à la commandetarget_link_libraries
associée à votre exécutable principal.
Effectuer une intégration avec le SDK Android Game
Téléchargez la bibliothèque et vérifiez-la dans votre système de contrôle des sources.
Apportez les modifications suivantes aux paramètres de compilation de votre projet.
Bibliothèque statique
Lorsque vous intégrez le SDK Android Game, vous créez un lien statique vers une version de la bibliothèque Oboe compilée pour la combinaison d'ABI, de niveau d'API, de NDK et de STL donnée :
- Ajoutez
gamesdk/include
aux chemins d'accès include de votre compilateur. Ajoutez un chemin au format suivant dans les chemins d'accès de votre bibliothèque d'inclusion :
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
Par exemple :
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
Ajoutez
-loboe_static
à votre commande d'éditeur de liens.
Vous n'avez pas besoin de regrouper la bibliothèque partagée liboboe.so
. La liaison statique vous permet donc de réduire considérablement l'encombrement du code.
Bibliothèque partagée
Si la combinaison d'ABI, de niveau d'API, de NDK et de STL requise pour une bibliothèque statique n'est pas disponible pour vos paramètres, vous pouvez effectuer une liaison à la bibliothèque partagée à la place :
Suivez les étapes 1 et 2 de la section précédente (à propos de la bibliothèque statique) pour mettre à jour les chemins d'accès include de votre compilateur, et utiliser le fichier d'en-tête approprié.
Ajoutez un chemin au format suivant dans les chemins d'accès de votre bibliothèque d'inclusion :
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")
Appelez la fonction
add_gamesdk_target
avec le dossier contenant le gamesdk :// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
Dans les
target_link_libraries
de votre bibliothèque native, ajoutezoboe
en tant que dépendance :// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
Pour une utilisation avancée de CMake, consultez le fichier source gamesdk.cmake
.
Étapes suivantes : utiliser Oboe
Pour lire ou enregistrer du contenu audio avec Oboe, créez et activez un ou plusieurs flux audio, et utilisez des rappels pour échanger des données audio entre vos périphériques d'entrée/sortie audio et votre application. Consultez la page Utiliser Oboe.