Zaktualizuj ustawienia kompilacji dla oboju

Bibliotekę obój można włączyć w swoim projekcie na 2 sposoby.

Zintegruj obój z Gradle i CMake

Te instrukcje dotyczą projektów korzystających z wtyczki Androida do obsługi Gradle w wersji 4.1.0 lub nowszej, która korzysta z zależności natywnych w CMake.

Jeśli w projekcie zamiast CMake używasz wtyczki Androida do obsługi Gradle w wersji 4.0 lub ndk-build, proces jest nieco inny. Zobacz Używanie zależności natywnych.

Aktualizowanie pliku build.gradle

Aby dodać Oboe do aplikacji podczas korzystania z wtyczki Androida do obsługi Gradle w wersji 4.1.0 lub nowszej, wprowadź te zmiany do pliku build.gradle aplikacji.

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

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

    android {
        buildFeatures {
            prefab true
        }
    }
    
  3. Skonfiguruj aplikację, aby używała udostępnionego STL:

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

Aktualizowanie pliku CMakeLists.txt

Dodanie obozu wymaga dodania dwóch elementów do pliku CMakeLists.txt aplikacji.

  1. Dodaj to polecenie find_package:

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

Integracja z pakietem SDK do gier na Androida

  1. Pobierz bibliotekę i sprawdź ją w swoim systemie kontroli źródeł.

  2. Wprowadź poniższe zmiany w ustawieniach kompilacji projektu.

Biblioteka statyczna

Po przeprowadzeniu integracji z pakietem SDK do gier na Androida tworzysz statycznie link do wersji biblioteki Oboe skompilowanej pod kątem danej kombinacji interfejsu ABI, poziomu API, NDK i STL:

  1. Dodaj do kompilatora gamesdk/include, uwzględnij ścieżki.
  2. Dodaj ścieżkę do tego formularza w ścieżkach biblioteki łączącej:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
    

    Przykład: gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release

  3. Dodaj -loboe_static do polecenia tagu łączącego.

Nie musisz łączyć zasobów wspólnych z biblioteką liboboe.so w pakiet, co oznacza, że linki statyczne zmniejszają rozmiar kodu.

Zasoby wspólne

Jeśli w Twoich ustawieniach nie jest dostępna kombinacja interfejsu ABI, poziomu API, NDK i STL wymaganej w przypadku biblioteki statycznej, możesz utworzyć połączenie z zasobami współdzielonymi:

  1. Wykonaj kroki 1 i 2 z poprzedniej sekcji (dotyczące biblioteki statycznej), aby zaktualizować kompilator uwzględniaj ścieżki i użyj odpowiedniego pliku nagłówka.

  2. Dodaj ścieżkę do tego formularza w ścieżkach biblioteki łączącej:

    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, używając folderu zawierającego pakiet SDK do gier:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. W 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 na temat CMake znajdziesz w pliku źródłowym gamesdk.cmake.

Kolejne kroki: korzystanie z Obóju

Aby odtwarzać lub nagrywać dźwięk za pomocą obóju, utwórz i aktywuj co najmniej jeden strumień audio oraz korzystaj z wywołań zwrotnych, aby wymieniać dźwięk między urządzeniami wejścia-wyjścia audio a aplikacją. Więcej informacji znajdziesz w sekcji Korzystanie z oboe.