Es gibt zwei Möglichkeiten, die Oboe-Bibliothek in dein Projekt zu integrieren.
Oboe in Gradle und CMake einbinden
Diese Anleitung gilt für Projekte, die Android Gradle-Plug-in Version 4.1.0 oder höher verwenden und native Abhängigkeiten mit CMake verwenden.
Wenn Ihr Projekt entweder das Android-Gradle-Plug-in Version 4.0 oder ndk-build
anstelle von CMake verwendet, unterscheidet sich der Vorgang geringfügig. Siehe Native Abhängigkeiten verwenden.
build.gradle-Datei aktualisieren
Wenn Sie Oboe zu Ihrer App hinzufügen möchten, während Sie das Android-Gradle-Plug-in in der Version 4.1.0 oder höher verwenden, nehmen Sie die folgenden Ergänzungen in der Datei build.gradle
Ihrer App vor.
Fügen Sie die Abhängigkeit
oboe
in den Abschnittdependencies
ein. Ersetzen Sie bei Bedarf1.5.0
durch die neueste stabile Version von Oboe:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
Aktivieren Sie im Abschnitt
buildFeatures
die Optionprefab
.android { buildFeatures { prefab true } }
Konfigurieren Sie Ihre App für die Verwendung des freigegebenen STL:
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
CMakeLists.txt aktualisieren
Wenn du Oboe hinzufügen möchtest, musst du die Datei CMakeLists.txt
deiner App zweimal hinzufügen.
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 Ihrer ausführbaren Hauptdatei zugeordnet ist.
In das Android Game SDK einbinden
Laden Sie die Bibliothek herunter und überprüfen Sie sie in Ihr Versionsverwaltungssystem.
Nehmen Sie die folgenden Änderungen an den Build-Einstellungen Ihres Projekts vor.
Statische Bibliothek
Durch die Integration mit dem Android Game SDK erstellen Sie eine statische Verknüpfung zu einer Version der Oboe-Bibliothek, die für die angegebene Kombination aus ABI, API-Level, NDK und STL kompiliert wurde:
- Fügen Sie Ihrem Compiler-Einschließen-Pfad
gamesdk/include
hinzu. Fügen Sie den Verknüpfungsbibliothekspfaden einen Pfad mit dem folgenden Formular hinzu:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
Beispiel:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
Fügen Sie dem Verknüpfungsbefehl
-loboe_static
hinzu.
Sie müssen die gemeinsam genutzte Bibliothek liboboe.so
nicht bündeln. Das bedeutet, dass Sie durch statische Verknüpfungen einen deutlich geringeren Codebedarf haben.
Gemeinsam genutzte Bibliothek
Wenn die für eine statische Bibliothek erforderliche Kombination aus ABI, API-Level, NDK und STL in Ihren Einstellungen nicht verfügbar ist, können Sie stattdessen eine Verknüpfung mit der gemeinsam genutzten Bibliothek erstellen:
Führen Sie die Schritte 1 und 2 aus dem vorherigen Abschnitt (zur statischen Bibliothek) aus, um Ihre Compiler-Einschließen-Pfade zu aktualisieren, und verwenden Sie die entsprechende Header-Datei.
Fügen Sie den Verknüpfungsbibliothekspfaden einen Pfad mit dem folgenden Formular hinzu:
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
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 Audio mit Oboe abspielen oder aufnehmen möchten, erstellen und aktivieren Sie einen oder mehrere Audiostreams und verwenden Sie Callbacks, um Audio zwischen den Audioeingabe- und -ausgabegeräten und Ihrer App auszutauschen. Weitere Informationen finden Sie unter Oboe verwenden.