이 페이지에는 Android용 Unity 애플리케이션을 빌드하는 방법과 빌드 시 알아야 할 고려 사항이 포함되어 있습니다. Android용 빌드 프로세스와 Unity가 사용하는 툴에 대한 자세한 내용은 Unity에서 Android 애플리케이션 빌드 방법을 참조하십시오.
애플리케이션을 빌드하는 대신 Unity 프로젝트를 Gradle 프로젝트로 익스포트하고 이를 Android Studio로 임포트할 수도 있습니다. 이러한 방식은 빌드 파이프라인을 더 많이 제어하거나 Unity가 애플리케이션용으로 생성하는 Android 앱 매니페스트를 확인하거나 수정하고자 하는 경우 또는 Unity로 구동되는 기능을 또 다른 Android 애플리케이션으로 통합하는 경우에 유용합니다. 자세한 내용은 Android 프로젝트 익스포트를 참조하십시오.
Android 애플리케이션을 호스팅하는 몇몇 디지털 배포 서비스에는 빌드 프로세스를 변경할 수 있는 특정 요구 사항이 있습니다. 예를 들어 Google Play는 애플리케이션이 APK가 아닌 Android 앱 번들 (AAB)이어야 합니다. 빌드로 특정 디지털 배포 서비스를 타겟으로 하는 경우 먼저 해당 디지털 배포 서비스에 대한 문서를 참조하여 요구 사항이 다른지 확인하십시오.
빌드를 생성하기 전에 Unity가 런타임 설정으로 애플리케이션을 빌드하도록 프로젝트를 설정하고 원하는 시스템 프로퍼티를 빌드합니다. 다음과 같이 Unity 빌드를 구성하는 두 가지 설정 세트가 있습니다.
Unity는 다음의 퍼블리싱 포맷으로 Android 애플리케이션을 빌드할 수 있습니다.
기본적으로 Unity는 APK 퍼블리싱 포맷으로 Android 애플리케이션을 빌드합니다. Unity가 Android 애플리케이션을 AAB로 빌드하게 하려면 다음 단계를 따르십시오.
Android용 Unity 애플리케이션을 빌드하려면 다음 단계를 따르십시오.
Build and Run을 선택한 경우 Unity가 빌드를 생성할 때 다음을 수행합니다.
팁: 출력 경로를 처음 지정한 후 Ctrl+B (macOS: Cmd+B) 키보드 단축키를 사용하여 애플리케이션을 빌드하고 실행할 수 있습니다.
Android applications must be digitally signed to run on an Android device. There are two types of application signing:
To provide custom signing information, create a keystore and load it into Publishing Settings.
When you provide custom signing information, Unity doesn’t store keystores and key passwords on disk for security reasons. This means that you need to re-enter key passwords each time you restart the Unity Editor. If you don’t provide the passwords and attempt to build the application, the build process fails. To avoid entering passwords each time you open the Unity Editor, it’s best practice to only provide custom signing information when you want to build the application to publish. To create a build for testing on a device, don’t provide custom signing information and use debug signing instead.
For more information about application signing, see Sign your app.
몇몇 디지털 배포 서비스에는 애플리케이션의 초기 설치 크기에 제한이 있습니다. Unity에는 초기 크기를 최적화하는 데 도움이 될 다음의 방법이 포함되어 있습니다.
출력 애플리케이션이 APK 포맷을 사용하는 경우 Split APKs by target architecture 플레이어 설정은 애플리케이션 다운로드와 설치 크기를 최적화합니다. Target Architectures 플레이어 설정에서 선택된 모든 타겟 CPU 아키텍처에 대한 바이너리가 포함된 하나의 APK를 생성하는 대신 Unity는 각 CPU 아키텍처에 별도의 APK를 생성합니다. 올바른 타겟 CPU 아키텍처를 가진 APK를 애플리케이션을 다운로드하는 각 기기에 제공하는 디지털 배포 서비스에 이 APK 세트를 업로드할 수 있습니다.
이는 주로 Google Play 기능이며 다른 디지털 배포 서비스에서는 작동하지 않을 수 있습니다. 자세한 내용은 다수의 APK 지원을 참조하십시오.
참고: Google Play에서는 새로운 애플리케이션이 APK가 아닌 AAB여야 합니다. AAB를 업로드할 때 Google Play는 각 기기 설정에 최적화된 APK를 자동으로 생성하여 제공합니다.
초기 설치 크기를 줄이기 위해 출력 애플리케이션을 분할할 수 있습니다. 기기는 가벼운 버전인 애플리케이션을 설치한 다음 에셋을 별도로 다운로드할 수 있습니다. 출력 애플리케이션이 APK 포맷을 사용하는 경우 Unity는 애플리케이션을 메인 APK와 확장 파일(OBB)로 분할할 수 있습니다. 자세한 내용은 APK 확장 파일을 참조하십시오. 출력 애플리케이션이 AAB 포맷을 사용하는 경우 Unity는 애플리케이션을 기본 모듈과 에셋 팩으로 분할할 수 있습니다. 자세한 내용은 Play Asset Delivery를 참조하십시오.
애플리케이션 바이너리를 분할하려면 다음 단계를 따르십시오.
Unity가 사용하는 방법을 변경하여 애플리케이션용 리소스 파일을 압축할 수 있습니다. 이렇게 하면 애플리케이션 크기를 줄일 수 있지만 이 방법이 데이터가 압축을 푸는 데 더 오래 걸리는 경우 로딩 시간이 늘어날 수 있습니다.
자세한 내용은 압축 방식을 참조하십시오.
ProGuard 축소화를 사용하여 애플리케이션의 크기를 줄이고 성능을 향상시킬 수 있습니다.
ProGuard 축소화를 활성화하려면 다음 단계를 따르십시오.
참고: ProGuard는 애플리케이션이 의존하는 중요 코드를 제거할 수 있으므로 축소할 빌드를 확인하십시오.
축소화 프로세스에 대해 더 많이 제어하려면 커스텀 proguard.txt
파일을 생성하여 제거하지 않을 항목을 설정합니다. 파일을 생성하려면 Publishing Settings 섹션에서 Custom Proguard File을 선택합니다. 이렇게 하면 프로젝트의 Assets/Plugins/Android
폴더에 proguard.txt
파일이 생성됩니다. ProGuard 축소화를 설정하는 방법에 대한 자세한 내용은 ProGuard 문서를 참조하십시오.