Es gibt zwei Möglichkeiten, die Oboe-Bibliothek in Ihr Projekt einzubinden.
Oboe in Gradle und CMake einbinden
Diese Anleitung gilt für Projekte, in denen Android Gradle-Plug-in-Version 4.1.0 oder höher mit nativen Abhängigkeiten mit CMake verwendet wird.
Wenn in Ihrem Projekt entweder das Android Gradle-Plug-in Version 4.0 oder ndk-build
anstelle von CMake verwendet wird, ist der Vorgang etwas anders. Weitere Informationen finden Sie unter Native Abhängigkeiten verwenden.
Datei build.gradle aktualisieren
Wenn Sie Oboe Ihrer App hinzufügen möchten und das Android Gradle-Plug-in in Version 4.1.0 oder höher verwenden, nehmen Sie die folgenden Änderungen an der Datei build.gradle
Ihrer App vor.
Fügen Sie dem Abschnitt
dependencies
die Abhängigkeitoboe
hinzu. Ersetzen Sie bei Bedarf1.5.0
durch die neueste stabile Version von Oboe:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
Aktivieren Sie die Option
prefab
im AbschnittbuildFeatures
.android { buildFeatures { prefab true } }
So konfigurieren Sie Ihre App für die Verwendung der freigegebenen STL:
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
CMakeLists.txt aktualisieren
Wenn Sie Oboe hinzufügen möchten, müssen Sie zwei Änderungen an der CMakeLists.txt
-Datei Ihrer App vornehmen.
Fügen Sie den folgenden
find_package
-Befehl hinzu:find_package (oboe REQUIRED CONFIG)
Fügen Sie
oboe::oboe
der Liste der Bibliotheken hinzu, die an den Befehltarget_link_libraries
übergeben werden, der mit Ihrer ausführbaren Hauptdatei verknüpft ist.
Integration in das Android Game SDK
Laden Sie die Bibliothek herunter und checken Sie sie in Ihr Quellcodeverwaltungssystem ein.
Nehmen Sie die folgenden Änderungen an den Buildeinstellungen Ihres Projekts vor.
Statische Bibliothek
Wenn Sie das Android Game SDK einbinden, stellen Sie eine statische Verknüpfung zu einer Version der Oboe-Bibliothek her, die für die jeweilige Kombination aus ABI, API-Level, NDK und STL kompiliert wurde:
- Fügen Sie
gamesdk/include
zu den Include-Pfaden Ihres Compilers hinzu. Fügen Sie in Ihre Linker-Bibliothekspfade einen Pfad der folgenden Form ein:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
Beispiel:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
Fügen Sie Ihrem Linker-Befehl
-loboe_static
hinzu.
Sie müssen die gemeinsam genutzte liboboe.so
-Bibliothek nicht bündeln. Durch statisches Verknüpfen wird der Code also deutlich kleiner.
Gemeinsam genutzte Bibliothek
Wenn die für eine statische Bibliothek erforderliche Kombination aus ABI, API-Level, NDK und STL für Ihre Einstellungen nicht verfügbar ist, können Sie stattdessen die Shared Library verknüpfen:
Folgen Sie Schritt 1 und 2 aus dem vorherigen Abschnitt (zur statischen Bibliothek), um die Include-Pfade des Compilers zu aktualisieren, und verwenden Sie die entsprechende Header-Datei.
Fügen Sie in Ihre Linker-Bibliothekspfade einen Pfad der folgenden Form ein:
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")
Rufen Sie die Funktion
add_gamesdk_target
mit dem Ordner auf, der das Gamesdk enthält:// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
Fügen Sie in der
target_link_libraries
-Datei für Ihre native Bibliothekoboe
als Abhängigkeit hinzu:// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
Informationen zur erweiterten Verwendung von CMake finden Sie in der Quelldatei gamesdk.cmake
.
Nächste Schritte: Oboe verwenden
Wenn Sie mit Oboe Audio abspielen oder aufnehmen möchten, erstellen und aktivieren Sie einen oder mehrere Audiostreams und verwenden Sie Callbacks, um Audio zwischen Ihren Audioeingabe-/ausgabegeräten und Ihrer App auszutauschen. Weitere Informationen finden Sie unter Oboe verwenden.