Build-Einstellungen für Oboe aktualisieren

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.

  1. Fügen Sie die Abhängigkeit oboe in den Abschnitt dependencies ein. Ersetzen Sie bei Bedarf 1.5.0 durch die neueste stabile Version von Oboe:

    dependencies {
        implementation 'com.google.oboe:oboe:1.5.0'
    }
    
  2. Aktivieren Sie im Abschnitt buildFeatures die Option prefab.

    android {
        buildFeatures {
            prefab true
        }
    }
    
  3. 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.

  1. Fügen Sie den folgenden find_package-Befehl hinzu:

    find_package (oboe REQUIRED CONFIG)
    
  2. Fügen Sie oboe::oboe der Liste der Bibliotheken hinzu, die an den Befehl target_link_libraries übergeben werden, der Ihrer ausführbaren Hauptdatei zugeordnet ist.

In das Android Game SDK einbinden

  1. Laden Sie die Bibliothek herunter und überprüfen Sie sie in Ihr Versionsverwaltungssystem.

  2. 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:

  1. Fügen Sie Ihrem Compiler-Einschließen-Pfad gamesdk/include hinzu.
  2. 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

  3. 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:

  1. 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.

  2. Fügen Sie den Verknüpfungsbibliothekspfaden einen Pfad mit dem folgenden Formular hinzu:

    gamesdk/libs/architectureAPIapiLevelNDKndkVersion_stlVersion_Release/lib/oboe

  3. 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:

  1. 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")
    

  2. 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)
    
  3. Fügen Sie in der target_link_libraries für Ihre native Bibliothek oboe 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.