Oboe 라이브러리를 프로젝트에 통합하는 방법에는 두 가지가 있습니다.
Gradle 및 CMake에 Oboe 통합
이 안내는 CMake가 포함된 네이티브 종속 항목을 사용하며 버전 4.1.0 이상의 Android Gradle 플러그인을 이용하는 프로젝트를 대상으로 합니다.
프로젝트에서 CMake 대신 Android Gradle 플러그인 버전 4.0 또는 ndk-build
를 사용하는 경우 프로세스가 약간 다릅니다. 네이티브 종속 항목 사용을 참고하세요.
build.gradle 업데이트
Android Gradle 플러그인 버전 4.1.0 이상을 사용할 때 Oboe를 앱에 추가하려면 앱의 build.gradle
파일에 다음을 추가합니다.
dependencies
섹션에oboe
종속 항목을 추가합니다. 필요한 경우1.5.0
을 최신 안정화 버전으로 바꿉니다. 오보에:dependencies { implementation 'com.google.oboe:oboe:1.5.0' }
buildFeatures
섹션에서prefab
옵션을 사용 설정합니다.android { buildFeatures { prefab true } }
공유된 STL을 사용하도록 앱을 구성합니다.
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_shared" } } } }
CMakeLists.txt 업데이트
Oboe를 추가하려면 앱의 CMakeLists.txt
파일에 두 가지 항목을 추가해야 합니다.
다음
find_package
명령어를 추가합니다.find_package (oboe REQUIRED CONFIG)
기본 실행 파일과 연결되어 있는
target_link_libraries
명령어에 전달된 라이브러리 목록에oboe::oboe
를 추가합니다.
Android 게임 SDK에 통합
라이브러리를 다운로드하고 소스 제어 시스템에 체크인합니다.
프로젝트의 빌드 설정을 다음과 같이 변경합니다.
정적 라이브러리
Android 게임 SDK에 통합하면 지정된 ABI, API 수준, NDK 및 STL 조합용으로 컴파일된 Oboe 라이브러리 버전에 정적으로 연결됩니다.
- 컴파일러 포함 경로에
gamesdk/include
를 추가합니다. 링커 라이브러리 경로에 다음 형식의 경로를 추가합니다.
gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
예:
gamesdk/libs/arm64-v8a_API24_NDK18_cpp_static_Release
링커 명령어에
-loboe_static
를 추가합니다.
liboboe.so
공유 라이브러리를 번들로 묶을 필요가 없습니다. 즉, 정적 연결을 통해 코드 공간이 훨씬 더 줄어듭니다.
공유 라이브러리
정적 라이브러리에 필요한 ABI, API 수준, NDK 및 STL 조합을 설정에 이용할 수 없는 경우 대신 공유 라이브러리에 연결하면 됩니다.
이전 섹션(정적 라이브러리 관련)의 1단계와 2단계를 따라 컴파일러 포함 경로를 업데이트하고 적절한 헤더 파일을 사용합니다.
링커 라이브러리 경로에 다음 형식의 경로를 추가합니다.
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")
gamesdk가 포함된 폴더를 사용하여
add_gamesdk_target
함수 호출:// Use a relative or absolute path.
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
네이티브 라이브러리의
target_link_libraries
에서oboe
를 종속 항목으로 추가:// The casing of OpenSLES is important.
target_link_libraries(native-lib oboe OpenSLES ...)
CMake의 고급 사용법은 gamesdk.cmake
소스 파일을 참고하세요.
다음 단계: Oboe 사용
Oboe로 오디오를 재생하거나 녹음하려면 하나 이상의 오디오 스트림을 만들어 활성화하고 콜백을 사용하여 오디오 입력/출력 기기와 앱 간에 오디오를 교환합니다. Oboe 사용을 참고하세요.