Using EOS SDK on Android

Android Studio를 사용하여 Android 프로젝트에서 EOS SDK를 구현하는 방법

7 분 소요

이 가이드에서는 에픽 온라인 서비스(EOS) SDKAndroid Studio 프로젝트에 추가하고, 빌드 시스템에 SDK를 인식시키고, Android에서 SDK 초기화를 처리하는 방법을 설명합니다.

Android에서 SDK를 구현하기 전, 플랫폼 구현을 위해 플랫폼에서의 EOS 활용 페이지를 확인하세요.

1. 필수 구성

이 가이드에서는 Android NDK로 C/C++ 코드를 빌드할 수 있는 Android Studio 프로젝트를 이미 구성했다는 것을 전제로 합니다. 프로젝트를 구성하지 않은 경우 https://developer.android.com/ndk/guides에서 가이드를 참고하여 시작해 보세요. 또한 이 가이드에서는 프로젝트 빌드에 Gradle을 사용하는 것을 전제로 합니다. 다른 빌드 툴도 사용 가능하지만 공식 지원되지는 않습니다.

EOS SDK가 앱과 번들링되려면 libc++_shared 가 필요합니다. 이것이 원하는 표준 템플릿 라이브러리(Standard Template Library, STL)인 경우 를 참조하여 .apk 또는 .aab에 번들링하는 방법을 알아보세요.

다른 STL을 사용하더라도 NDK를 출시하려면 관련된 libc++_shared 라이브러리를 가져와야 합니다. sources\cxx-stl\llvm-libc++\libs\{arch}\ndk 폴더에서 .so 파일을 찾을 수 있으며, 빌드 툴을 통해 최종 빌드에 포함시켜야 합니다.

2. Android Studio 프로젝트에 EOS SDK 추가하기

개발자 포털(Developer Portal) 의 SDK 다운로드 파일이 제공하는 zip 파일에는 다음 아티팩트가 포함되어 있습니다.

  • EOS SDK에서 노출되는 헤더가 모두 포함된 include 폴더.
  • 앱 빌드에 사용 가능한 arm64-v8aarmeabi-v7a 에 맞춰 빌드된 EOS SDK .so 파일이 들어 있는 lib 폴더.
  • 적절한 라이브러리를 자동으로 앱과 번들링하고 필수 권한과 수반되는 자바 코드를 프로젝트에 추가하는 EOSSDK.aar 파일.

어떤 빌드 시스템을 사용하든 프로젝트에 EOSSDK.aar 을 모듈로 가져와야 합니다. 그러려면 다음 단계에 따르세요.

  1. 파일(File) > 추가(New) > 새 모듈(New Module) 을 클릭합니다.
파일 메뉴에서 새 모듈 선택
  1. 옵션 목록에서 .JAR/.AAR 패키지 임포트(Import .JAR/.AAR Package) 를 선택하고 다음(Next) 을 클릭합니다.
.JAR/.AAR 패키지 임포트 선택
  1. 압축 해제한 zip 파일에서 .aar 파일을 선택합니다. 서브프로젝트 이름(Subproject Name) 에는 자동으로 'EOSSDK' 가 입력될 것입니다. 입력되지 않으면 수동으로 설정하거나 다른 이름을 선택하세요. 이제 EOSSDK 가 프로젝트에 임포트된 모듈로 나타날 것입니다.

  2. EOSSDK 폴더 안에서 앱의 build.gradle 파일을 엽니다.

build.gradle 파일이 있는 프로젝트에 표시된 EOSSDK
  1. 종속성 블록에 androidx.security:security-crypto:1.0.0-rc01 구현과 구현 프로젝트(경로: :EOSSDK )를 추가합니다.
dependencies {
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.security:security-crypto:1.0.0-rc01'
implementation project(':EOSSDK')
}

이제 SDK가 프로젝트에 임포트되었으며 빌드에 포함됩니다. .aar 파일이 빌드 프로세스 도중 자동으로 알맞은 .so 파일을 .apk/.aab로 가져옵니다.

다음 섹션은 C 라이브러리를 SDK 내에서 직접 통합하는 방법을 설명합니다.

3. 빌드 시스템에 SDK 포함하기

NDK와 함께 사용 가능한 공식 지원 빌드 시스템 CMake 또는 ndk-build 를 사용하여 EOS SDK를 프로젝트에 추가할 수 있습니다. 이 섹션은 이러한 빌드 시스템을 사용하여 프로젝트로 SDK를 가져오는 방법에 대한 정보를 제공합니다.

CMake로 EOS 사용하기

프로젝트에서 CMake를 사용하는 경우, 프로젝트에 CMakeLists.txt 파일이 있어야 합니다. EOS SDK를 NDK 프로젝트로 가져오려면 CMake에 라이브러리의 위치를 알려야 합니다.

그러려면 CMakeLists.txt 파일을 편집하고 다음 명령을 추가합니다.

CMakeLists.txt

add_library(EOSSDK SHARED IMPORTED)
set(EOSSDKDIR PUT_PATH_TO_EXPANDED_ZIP_HERE)
set_property(TARGET EOSSDK PROPERTY IMPORTED_LOCATION ${EOSSDKDIR}/lib/${ANDROID_ABI}/libEOSSDK.so)
set_property(TARGET EOSSDK PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${EOSSDKDIR}/include/)

zip 파일을 CMakeLists.txt 와 같은 디렉터리에 압축 해제하면 다음과 같습니다.

CMakeLists.txt

add_library(EOSSDK SHARED IMPORTED)
set(EOSSDKDIR ${CMAKE_SOURCE_DIR})
set_property(TARGET EOSSDK PROPERTY IMPORTED_LOCATION ${EOSSDKDIR}/lib/${ANDROID_ABI}/libEOSSDK.so)
set_property(TARGET EOSSDK PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${EOSSDKDIR}/include/)

마지막으로 EOS SDK가 프로젝트 내의 적절한 라이브러리와 링크되었는지 확인합니다. Android Studio에서 Create New Project 마법사(Create New Project Wizard) 에 생성되는 C++ 프로젝트는 다음과 같습니다.

CMakeLists.txt

target_link_libraries( # 타깃 라이브러리를 지정합니다.
native-lib
#타깃 라이브러리를 EOSSDK에 링크합니다
EOSSDK
# 타깃 라이브러리를 로그 라이브러리에 링크합니다
# NDK에 포함되어 있습니다.
${log-lib} )