Zaktualizuj ustawienia kompilacji dla oboju

Bibliotekę Oboe można włączyć do projektu na 2 sposoby.

Integracja Oboe z Gradle i CMake

Te instrukcje są przeznaczone dla projektów korzystających z wtyczki Androida do obsługi Gradle w wersji 4.1.0 lub nowszej, które używają natywnych zależności z CMake.

Jeśli Twój projekt korzysta z wtyczki Android Gradle w wersji 4.0 lubndk-build zamiast CMake, proces jest nieco inny. Zobacz Korzystanie z zależności natywnych.

Aktualizacja pliku build.gradle

Aby dodać Oboe do aplikacji, gdy używasz wtyczki Androida do obsługi Gradle w wersji 4.1.0 lub nowszej, wprowadź te zmiany w pliku build.gradle aplikacji.

  1. Dodaj zależność oboe do sekcji dependencies. W razie potrzeby zastąp 1.5.0 najnowszą stabilną wersją Oboe:

    dependencies {
        implementation 'com.google.oboe:oboe:1.5.0'
    }
    
  2. Włącz opcję prefab w sekcji buildFeatures.

    android {
        buildFeatures {
            prefab true
        }
    }
    
  3. Skonfiguruj aplikację tak, aby korzystała z udostępnionego STL:

    android {
        defaultConfig {
            externalNativeBuild {
                cmake {
                    arguments "-DANDROID_STL=c++_shared"
                }
            }
        }
    }
    

Aktualizowanie pliku CMakeLists.txt

Dodanie Oboe wymaga wprowadzenia 2 zmian w pliku CMakeLists.txt aplikacji.

  1. Dodaj to polecenie find_package:

    find_package (oboe REQUIRED CONFIG)
    
  2. Dodaj oboe::oboe do listy bibliotek przekazywanych do polecenia target_link_libraries powiązanego z głównym plikiem wykonywalnym.

Integracja z pakietem SDK do gier na Androida

  1. Pobierz bibliotekę i zarejestruj ją w systemie kontroli źródła.

  2. Wprowadź w ustawieniach kompilacji projektu te zmiany:

Biblioteka statyczna

Podczas integracji z pakietem SDK do gier na Androida statycznie łączysz się z wersją biblioteki Oboe skompilowaną dla danej kombinacji ABI, poziomu interfejsu API, NDK i STL:

  1. Dodaj gamesdk/include do ścieżek dołączania kompilatora.
  2. Dodaj do ścieżek biblioteki linkera ścieżkę w tym formacie:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
    

    Na przykład: gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release

  3. Dodaj -loboe_static do polecenia linkera.

Nie musisz dołączać biblioteki współdzielonej liboboe.so, co oznacza, że statyczne łączenie daje znacznie mniejszy rozmiar kodu.

Zasoby wspólne

Jeśli kombinacja ABI, poziomu API, NDK i STL wymagana w przypadku biblioteki statycznej nie jest dostępna w Twoich ustawieniach, możesz zamiast tego połączyć się z biblioteką współdzieloną:

  1. Wykonaj kroki 1 i 2 z poprzedniej sekcji (dotyczącej biblioteki statycznej), aby zaktualizować ścieżki dołączania kompilatora, i użyj odpowiedniego pliku nagłówkowego.

  2. Dodaj do ścieżek biblioteki linkera ścieżkę w tym formacie:

    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. Wywołaj funkcję add_gamesdk_target z folderem zawierającym pakiet SDK do gier:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. W pliku target_link_libraries biblioteki natywnej dodaj oboe jako zależność:

    // The casing of OpenSLES is important.
    target_link_libraries(native-lib oboe OpenSLES ...) 
    

Zaawansowane informacje o korzystaniu z CMake znajdziesz w gamesdk.cmakepliku źródłowym.

Dalsze kroki: korzystanie z Oboe

Aby odtwarzać lub nagrywać dźwięk za pomocą Oboe, utwórz i aktywuj co najmniej 1 strumień audio oraz użyj wywołań zwrotnych do wymiany dźwięku między urządzeniami wejścia/wyjścia audio a aplikacją. Więcej informacji znajdziesz w artykule Korzystanie z Oboe.