이 가이드에서는 언리얼 엔진에서 Android 단일 인스턴스 서비스(Android Single Instance Service, ASIS)를 구성한 다음, 언리얼 엔진 프로젝트를 Android 애플리케이션으로 생성하고 패키징하고 실행하는 방법을 살펴봅니다.
Android SDK 및 NDK 구성하기
ASIS를 구성하려면 먼저 언리얼 엔진에서 Android 소프트웨어 개발 키트(Software Development Kit, SDK)와 Android 네이티브 개발 키트(Native Development Kit, NDK)를 구성해야 합니다. 언리얼 엔진에서는 Android Studio 및 Android SDK 명령줄 툴을 사용하여 Android 프로젝트 개발에 필요한 Android SDK 컴포넌트를 다운로드하고 설치합니다.
Android SDK 및 NDK 구성하는 단계는 다음과 같습니다.
Android SDK 및 NDK 구성하기 페이지의 단계를 따라 진행합니다.
언리얼 엔진 5.5 이상 버전을 사용하는 경우, 다음 SDK 플랫폼 및 툴을 활성화합니다.
SDK 툴(SDK Tools) > Android SDK 빌드 툴 36(Android SDK Build-Tools 36) > 35.0.0 및 34.0.0
SDK 툴 > NDK(병렬 설치)(NDK (Side by side)) > 25.1.8937393
SDK 플랫폼(SDK Platforms) > Android 14.0("UpsideDownCake"), API 레벨 34
ASIS 템플릿에서 새 프로젝트 생성하기
Android SDK와 NDK를 설치한 후 ASIS 템플릿 플러그인을 구성할 수 있습니다. 플러그인은 별도의 아카이브로 제공되므로 언리얼 엔진 소스 코드를 준비하려면 수동으로 단계를 진행해야 합니다.
언리얼 엔진 소스 코드 얻기
Perforce 또는 Github의 UE5 Main에서 최신 소스 코드를 가져옵니다. 언리얼 엔진에서 Perforce 및 Github를 사용하는 방법에 대한 자세한 내용은 다음 리소스를 참조하세요.
ASIS 플러그인 구성하기
1. ASIS 템플릿 폴더로 이동합니다.
ASIS 템플릿 폴더로 이동합니다.
Perforce를 사용하는 경우,
UE5_Main\Engine\Restricted\NotForLicensees\Plugins\AndroidSingleInstanceService\Templates\로 이동합니다.GitHub를 사용하는 경우
ue5-main브랜치에 액세스하여ue5-main\Engine\Restricted\NotForLicensees\Plugins\AndroidSingleInstanceService로 이동합니다.
TP_HMI_ASIS 폴더를
UE5_Main\Templates\(Perforce) 또는ue5-main\Templates\(GitHub)에 복사합니다.다음 코드를 복사하여
UE5_Main\Templates\TemplateCategories.ini(Perforce) 또는ue5-main\Templates\TemplateCategories.ini(GitHub)에 붙여넣습니다.C++Categories=(Key="HMI", LocalizedDisplayNames=((Language="en",Text="Automotive\nHMI &\nVehicle Cockpit using Android Single Instance Service")), LocalizedDescriptions=((Language="en",Text="Find templates for automotive vehicle cockpit using Android Single Instance Service"), Icon="TP_HMI_ASIS/Media/AutomotiveHMI_2x.png", IsMajorCategory=true)UnrealEditor를 실행합니다.이제 언리얼 프로젝트 브라우저에 새로운 HMI 템플릿이 포함되어 있을 것입니다.
생성(Create)을 클릭합니다. 프로젝트가 다음 스크린샷과 같은 모습일 것입니다.
기존 프로젝트에 ASIS 플러그인 추가하기
기존 프로젝트에 ASIS 플러그인 추가하기
ASIS를 추가하려는 기존 프로젝트가 있는 경우, 다음 단계대로 진행합니다.
편집(Edit) > 플러그인(Plugins)으로 이동하여 AndroidSingleInstanceService를 활성화합니다.
다음 코드를 복사하여
{Project_Name}/Config/DefaultGame.ini파일에 붙여넣습니다.Config[Staging] +RemapDirectories=(From="Engine/Restricted/NotForLicensees/Plugins/AndroidSingleInstanceService", To="Engine/Plugins/Runtime/AndroidSingleInstanceService") +RemapDirectories=(From="Engine/Restricted/NotForLicensees/Plugins/Experimental/MultiWindow", To="Engine/Plugins/Experimental/MultiWindow")언리얼 엔진에서 편집(Edit) > 프로젝트 세팅(Project Settings)으로 이동합니다.
플러그인(Plugins) > AndroidSingleInstanceService에서 다음 세팅을 활성화합니다.
ASIS 프로젝트 컴파일(Compile ASISProject)
ASIS 라이브러리 생성 활성화(Enable asis libs generation)
Android 단일 인스턴스 서비스 사용(Use AndroidSingleInstanceService)
ASIS 프로젝트 패키징 및 실행하기
언리얼 엔진 프로젝트에서 ASIS를 구성한 다음에는 프로젝트를 Android 애플리케이션으로 패키징하고 실행할 수 있습니다.
ASIS 프로젝트를 Android 애플리케이션으로 패키징하는 단계는 다음과 같습니다.
메인 툴바에서 플랫폼(Platforms) > Android > 프로젝트 패키징(Package Project)을 클릭합니다.
출력 로그(Output Log)에서 빌드가 성공했는지 확인합니다.
패키지는 기본적으로 /Documents/UnrealProjects/_packages/ASIS_Package에 저장됩니다.
Android 애플리케이션과 언리얼 엔진 APK 간 통신하기
애플리케이션을 패키징한 다음에는 예시 클라이언트 애플리케이션을 사용하여 언리얼 엔진 APK와 통신할 수 있습니다.
언리얼 엔진 패키지는 크게 다음과 같은 세 부분으로 구성됩니다.
Android 서비스가 포함된 APK. 이는 프로젝트 패키지 대화창에서 선택한 폴더에 있습니다.
클라이언트 애플리케이션에서 사용되는 ASIS 헬퍼 라이브러리 세트.
C++Binaries/Android/aars ├── asisclientlib-1.0.1-debug.aar ├── asisclientlib-1.0.1-debug.jar ├── asiscommon-1.0.1-debug.aar └── asiscommon-1.0.1-debug.jar서비스와 통신하는 예시 클라이언트 애플리케이션. 이는 패키지로 만든 언리얼 엔진 프로젝트가 아니라 언리얼 엔진 프로젝트의 Binaries 폴더(
\Unreal Projects\{Project_Name}\Binaries\Android)에 있습니다.
Android Studio를 사용하여 예시 Android 프로젝트를 열 수 있습니다.이 프로젝트를 열면 자동으로 Android 빌드 프로세스를 진행합니다.
다음 명령줄 프롬프트를 사용하여 프로젝트를 빌드할 수도 있습니다.
cd {Project_Name}\Binaries\Android\ExampleUseCase_{Project_Name}\
gradlew assembleDebug이 명령은 {Project_Name}\Binaries\Android\ExampleUseCase_{Project_Name}\app\build\outputs\apk\debug\app-debug.apk에 APK 파일을 생성합니다.
Android Studio에서 Android 디바이스를 선택한 상태로 Shift + F10을 누르거나 상단 툴바에서 Play 버튼을 클릭하여 애플리케이션을 실행할 수 있습니다.
Android 디바이스에 APK를 설치하려면 다음 adb 명령을 실행합니다.
adb install {Project_Name}.apk내 디바이스의 애플리케이션에서 Activate View1, Activate View2 및 Activate View3을 탭하여 언리얼 엔진 애플리케이션과 통신하는 Android 서비스를 확인합니다.