Aggiorna le impostazioni di build per Oboe

Ci sono due modi per incorporare la libreria di Oboe nel tuo progetto.

Integrare Oboe con Gradle e CMake

Queste istruzioni sono relative ai progetti che utilizzano il plug-in Android per Gradle versione 4.1.0 o successive usando le dipendenze native. con CMake.

Se il progetto utilizza il plug-in Android per Gradle versione 4.0 o ndk-build anziché CMake, la procedura è leggermente diversa. Consulta Utilizzo delle dipendenze native.

Aggiorna build.gradle

Per aggiungere Oboe alla tua app mentre utilizzi il plug-in Android per Gradle versione 4.1.0 o superiore, apporta le seguenti aggiunte al file build.gradle della tua app.

  1. Aggiungi la dipendenza oboe alla sezione dependencies. Se necessario, sostituisci 1.5.0 con la versione stabile più recente di Oboe:

    dependencies {
        implementation 'com.google.oboe:oboe:1.5.0'
    }
    
  2. Attiva l'opzione prefab nella sezione buildFeatures.

    android {
        buildFeatures {
            prefab true
        }
    }
    
  3. Configura l'app per l'utilizzo dell'STL condiviso:

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

Aggiornamento CMakeLists.txt

L'aggiunta di Oboe richiede due aggiunte al file CMakeLists.txt dell'app.

  1. Aggiungi questo comando find_package:

    find_package (oboe REQUIRED CONFIG)
    
  2. Aggiungi oboe::oboe all'elenco delle librerie passate alla Comando target_link_libraries associato all'eseguibile principale.

Integrare l'SDK Android Game

  1. Scarica la raccolta e controlla nel sistema di controllo dei file sorgente.

  2. Apporta le seguenti modifiche alle impostazioni di build del progetto.

di Gemini Advanced.

Libreria statica

Quando esegui l'integrazione con l'SDK Android Game, ti colleghi in modo statico a una versione della libreria Oboe compilata per ABI, livello API, NDK e STL specificati combinazione:

  1. Aggiungi gamesdk/include ai percorsi di inclusione del compilatore.
  2. Aggiungi un percorso del modulo seguente nei percorsi della libreria di linker:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
    

    Ad esempio: gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release

  3. Aggiungi -loboe_static al comando linker.

Non è necessario raggruppare la libreria condivisa liboboe.so, il che significa statico ti offre un ingombro di codice molto ridotto.

Libreria condivisa

Se la combinazione di ABI, livello API, NDK e STL è richiesta per una libreria statica non è disponibile per le tue impostazioni, puoi collegarti alla libreria condivisa anziché:

  1. Segui i passaggi 1 e 2 della sezione precedente (informazioni sulla libreria statica) per aggiorna il compilatore includi i percorsi e utilizza il file di intestazione appropriato.

  2. Aggiungi un percorso del modulo seguente nei percorsi della libreria di linker:

    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. Richiama la funzione add_gamesdk_target con la cartella contenente gamesdk:

    // Use a relative or absolute path.
    add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
    
  3. In target_link_libraries per la tua libreria nativa, aggiungi oboe come dipendenza:

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

Per un utilizzo avanzato di CMake, consulta gamesdk.cmake sorgente.

Passaggi successivi: utilizzo di Oboe

Per riprodurre o registrare audio con Oboe, crea e attiva uno o più audio e utilizzano i callback per scambiare audio tra i tuoi input/output audio. dispositivi e la tua app. Consulta la sezione Informazioni sull'uso Oboe.