Há duas maneiras de incorporar a biblioteca Oboe ao seu projeto.
Integrar a Oboe usando o Gradle e o CMake
Estas instruções são para projetos que usam o Plug-in do Android para Gradle versão 4.1.0 ou mais recente com dependências nativas com o CMake.
Se o projeto estiver usando o Plug-in do Android para Gradle versão 4.0 ou o
ndk-build
em vez do CMake, o processo será um pouco diferente. Consulte Como usar dependências nativas.
Atualizar build.gradle
Para adicionar a Oboe ao seu app usando o Plug-in do Android para Gradle versão 4.1.0 ou
mais recente, adicione o seguinte ao arquivo build.gradle
do app.
Adicione a dependência
oboe
à seçãodependencies
. Se necessário, substitua1.5.0
pela versão estável mais recente. da Oboe:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
Ative a opção
prefab
na seçãobuildFeatures
.android { buildFeatures { prefab true } }
Configure seu app para usar a STL compartilhada:
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
Atualizar CMakeLists.txt
Para adicionar a Oboe, é preciso fazer duas adições ao arquivo CMakeLists.txt
do seu app.
Adicione o seguinte comando
find_package
:find_package (oboe REQUIRED CONFIG)
Adicione
oboe::oboe
à lista de bibliotecas transmitidas ao comandotarget_link_libraries
associado ao executável principal.
Integrar com o SDK para jogos do Android
Faça o download da biblioteca e inclua-a no seu sistema de controle de origem.
Faça as mudanças a seguir nas configurações de compilação do seu projeto.
Biblioteca estática
Ao integrar o SDK para jogos do Android, você vincula estaticamente uma versão da biblioteca Oboe compilada para a combinação de ABI, o nível da API, NDK e STL determinada:
- Adicione
gamesdk/include
aos caminhos de inclusão do compilador. Adicione um caminho no seguinte formato aos caminhos da biblioteca do vinculador:
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
Por exemplo:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
Adicione
-loboe_static
ao comando do vinculador.
Você não precisa adicionar a biblioteca compartilhada liboboe.so
a um pacote, o que significa que a vinculação
estática oferece um código muito menor.
Biblioteca compartilhada
Se a combinação da ABI, do nível da API, do NDK e da STL necessária para uma biblioteca estática não estiver disponível em suas configurações, será possível vincular a biblioteca compartilhada:
Siga as etapas 1 e 2 da seção anterior (sobre a biblioteca estática) para atualizar o compilador para incluir caminhos e use o arquivo principal adequado.
Adicione um caminho no seguinte formato aos caminhos da biblioteca do vinculador:
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")
Chame a função
add_gamesdk_target
com a pasta que contém o gamesdk:// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
Nas
target_link_libraries
da biblioteca nativa, adicioneoboe
como uma dependência:// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
Para uso avançado do CMake, consulte o arquivo de origem
gamesdk.cmake
.
Próximas etapas: como usar a Oboe
Para ouvir ou gravar áudio usando a Oboe, crie e ative um ou mais streams de áudio. Depois, use callbacks para trocar áudio entre os dispositivos de entrada/saída de áudio e seu app. Veja Como usar a Oboe (link em inglês).