68. Unity 최종 프로젝트 4주차(6)

이규성·2024년 2월 3일
0

TIL

목록 보기
75/106

02/03

📌팀 프로젝트 진행

안드로이드 빌드(Android build)

필요한 사항

1. 유니티 에디터 설치 시 안드로이드 빌드 서포트가 필요하다.

설치 때 놓쳤다면 추가로 설치가 가능하다.
유니티 에디터를 실행시키고 메뉴바의 Edit - Preferences - External tools의 안드로이드 쪽에 JDK, SDK, NDK가 모두 설치가 되어 있고 경로가 잘 잡혀 있는지 확인한다. 만약 오류가 뜬다면 여러 방법을 시도해보았지만 그냥 유니티 에디터를 삭제하고 새로 설치하는 것으로 해결했다.

2. 유니티 안드로이드 빌드 세팅

참조: https://docs.unity3d.com/kr/2022.3/Manual/android-BuildProcess.html

  • Texture Compression - 빌드에 사용하는 텍스처 압축 포맷입니다.
  • ETC2 fallback - Unity가 ETC2를 지원하지 않는 Android 기기에 사용하는 압축되지 않은 RGBA 텍스처 포맷을 지정합니다. 이렇게 하면 압축되지 않은 텍스처가 사용하는 메모리 양과 해당 이미지 품질에 영향을 줍니다.
  • Export Project - Unity 프로젝트를 Android Studio로 임포트할 수 있는 Gradle 프로젝트로 익스포트할지를 나타냅니다.
  • Build App Bundle (Google Play) - Google Play에서 배포하기 위해 애플리케이션을 Android 앱 번들 (AAB)로 빌드할지 여부를 나타냅니다. 이 설정을 활성화하는 경우 Unity는 애플리케이션을 AAB로 빌드합니다. 이 설정을 비활성화하는 경우 Unity는 애플리케이션을 APK로 빌드합니다.
  • Compression Method - 플레이어를 빌드할 때 프로젝트에 데이터를 압축하기 위해 Unity가 사용하는 방법을 지정합니다. 여기에는 에셋, 씬, 플레이어 설정, GI 데이터가 포함됩니다. 옵션은 다음과 같습니다.
    • Default: LZ4와 LZ4HC 보다 압축 결과는 조금 더 낫지만 데이터는 압축을 푸는 데 시간이 더 소요됩니다.
    • LZ4: 개발 빌드에 유용한 빠른 압축 포맷인 LZ4를 사용합니다. ZIP 대신 LZ4로 압축하면 Unity 애플리케이션의 로딩 시간을 크게 단축할 수 있습니다. 자세한 내용은 BuildOptions.CompressWithLz4를 참조하십시오.
    • LZ4HC: 빌드 시간은 더 들지만 릴리스 빌드 결과는 더 나은 LZ4에 대한 고압축 배리언트입니다. ZIP이 아닌 LZ4HC 압축을 사용하면 Unity 애플리케이션 로딩 시간을 크게 단축할 수 있습니다. 자세한 내용은 BuildOptions.CompressWithLz4를 참조하십시오.

위와 같이 설정한 뒤 왼쪽 하단의 Player Settings...를 클릭합니다.

3. 유니티 에디터의 플레이어 세팅스 설정하기

참조: https://docs.unity3d.com/kr/2022.3/Manual/class-PlayerSettingsAndroid.html
기업 명, 프로젝트 명, 아이콘 등 기본적인 사항들 입력합니다.


해상도(Resolution) 및 프리젠테이션(Presentation) 탭에선 이렇게 설정하면 되고 중요한 옵션은 Allowed Orientations for Auto Rotation 입니다.

설정기능
Portrait세로 방향을 사용할 수 있습니다.
Portrait Upside Down거꾸로 된 세로 방향(홈 버튼이 위쪽에 위치)을 사용할 수 있습니다.
Landscape Right오른쪽 가로 방향(홈 버튼이 왼쪽 에 위치)을 사용합니다.
Landscape Left풍경 왼쪽 방향(홈 버튼이 오른쪽 에 위치)을 사용할 수 있습니다.

게임의 가로 세로 출력 방향을 제한합니다.

Other Settings 탭도 위와 같이 설정하면 됩니다.
Idenitfication에서 게임의 버전과 타겟 안드로이드 API를 설정할 수 있습니다. 우선은 출시 준비 단계가 아니니 위와 같이 설정하면 됩니다.

PropertyDescription
Scripting Backend사용할 스크립팅 백엔드를 선택합니다. 스크립팅 백엔드는 Unity가 프로젝트의 C# 코드를 컴파일하고 실행하는 방식을 결정합니다.

Mono - C# 코드를 .NET 공용 중간 언어(CIL)로 컴파일하고 공용 언어 런타임을 사용하여 해당 CIL을 실행합니다.
IL2CPP - C# 코드를 CIL로 컴파일하고, CIL을 C++로 변환한 다음, 해당 C++를 네이티브 기계어 코드로 컴파일하여 런타임에 바로 실행할 수 있습니다.

PropertyDescription
API Compatibility Level프로젝트에서 사용할 수 있는 .NET API를 선택합니다.이 설정은 타사 라이브러리와의 호환성에 영향을 줄 수 있습니다.그러나 에디터 전용 코드(에디터 디렉토리 또는 에디터 전용 어셈블리 정의 내 코드)에는 영향을 미치지 않습니다.

.Net Standard 2.0 - .NET Standard 2.0과 호환됩니다. 크기가 더 작은 빌드를 생성하며 크로스 플랫폼이 100% 지원됩니다.

PropertyDescription
Target Architectures애플리케이션을 실행할 CPU(32비트 ARM, 64비트 ARM, 32비트 x86, 및 64비트 x86–64)를 선택합니다.

ARMv7 - 32비트
ARM64 - 64비트
참고: 64비트 환경에서 Android 앱을 실행하면 성능상 이점이 있으며, 64비트 앱은 4GB가 넘는 메모리 공간을 처리할 수 있습니다.

PropertyDescription
Split APKs by target architectureTarget Architectures 에서 선택된 각 CPU 아키텍처에 대해 별도의 APK를 생성하려면 이 옵션을 활성화합니다. 이렇게 하면 Google Play 스토어 사용자의 다운로드 크기가 줄어듭니다. 이 기능은 Google Play 이외의 스토어에서는 지원되지 않을 수 있습니다.
Write Permission외부 스토리지(예: SD 카드)에 대한 쓰기 권한을 허용하고 해당 권한을 Android 앱 매니페스트에 추가할지 여부를 선택합니다. 개발용 빌드는 External(SDCard) 로 기본 설정하십시오.

위와 같이 설정하면 됩니다.

키스토어는 애플리케이션 보안을 위해 서명 키를 보관하는 컨테이너입니다.
Project Keystore 설정을 사용하여 열린 프로젝트에 사용할 키스토어를 선택합니다. 키스토어를 로드하면 Unity는 해당 키스토어의 모든 키를 로드합니다.
우선 제 컴퓨터 내 문서에 키를 하나 저장해뒀습니다. 아마 이 키 파일을 가지고 비밀번호를 입력한다면 빌드할 수 있을 것 같습니다.

4. 빌드하기

우선 어드레서블 그룹스에서 빌드를 해봅니다. 여기서 콘솔창에 에러가 나온다면 해당 에러를 더블클릭 후 비주얼 스튜디오에서 해결하면 됩니다. 보통은 사용하지 않는 네임스페이스에서 에러가 나왔었습니다.
빌드 결과창이 뜹니다. 저 오류들을 해결하는 것이 1차 숙제입니다. 실행은 됩니다.
빌드 버튼 클릭 후 경로를 설정합니다.
그럼 32비트, 64비트 용 apk 파일이 빌드가 됩니다.

0개의 댓글