본문 바로가기
유니티

유니티 안드로이드 빌드 (플레이어 셋팅)

by 노튜 2020. 4. 9.
728x90

※ 안드로이드 APK 파일 생성 

 

1. Build Settings

 

Build Settings

프로젝트의 빌드 셋팅을 Android로 변경한다.

프로젝트에 구현된 Scene들을 Scenes in Build에 등록한다. 

프로젝트 실행 시 가장 위의 Scene이 먼저 실행 된다.  

 

2. Player settings

2.1 Player 및 Icon

 

  • Company Name : 회사이름 
  • Product Name : 프로그램이름
  • Default Icon : 아이콘  

Version은 Publishing Settings의 버전이다. 

아이콘을 등록하면 등록한 아이콘으로 된 apk파일이 생성되고, 그렇지 않으면 유니티 기본 아이콘으로 표시된다. 

Google Play console에서 Publishing을 할 때 아이콘을 추가하도록 되어있다. 앱 등록 시 아이콘 크기는 512x512이다.  

Default Icon, Round Icons에 등록한다.  

아이콘은 192X192px 아이콘을 제작해서 등록한다.  

 

2.2 Resolution and Presentation

 

Resolution and Presentation

 

앱 배포에 필수적인 부분만 다룹니다. 자세한 사항은 아래 유니티 문서를 참고해 주세요.

 

Aspect Ratio Mode 

  • Native Aspect Ratio는 디바이스(스마트폰)에서 제공하는 가로세로 비율을 사용한다. 
  • 특정한 비율을 사용하려면 Custom Ratio를 선택하여, 프로젝트에 맞게 설정한다. 

Default Orientation

  • 프로젝트에 맞는 디바이스 방향을 설정한다. 
  • Orientation 선택 시 설정한 방향으로만 동작한다.
  • Auto Rotation을 선택하면, Allowed Orientations for Auto Rotation 설정을 할 수 있다.
  • Portrait 은 세로모드, Landscape은 가로모드이다.  

 

2.3 Splash Image

  • 프로그램(게임)을 실행 시 처음 화면에 나오는 것을 설정한다. ex) 카카오톡 실행 시 로고 노란화면
  • Previw를 눌르면, 유니티 플레이 화면에 등록된 로고 출력 영상을 볼 수 있다.
  • 유니티 Plus 사용자부터 Unity Logo를 보이지 않게 할 수 있다. 

 

2.4  Others Settings

렌더링 및 최적화 부분의 자세한 설명은 아래 링크된 유니티 문서를 참고해주세요.

apk 파일 생성 할때 문제가 발생하는 부분인 Identification 및 Configuration에 대해서 설명합니다.

 

2.4.1 Identification

 

Identification 

 

Package Name

  • 애플리케이션 ID 설정이다.

  • com.companyname.appname 을 기본 구조로 한다

  • 자신에게 맞는 구조로 변경 가능하다. 

※대문자 및 숫자 등 사용 시 에러가 발생하면, 숫자 삭제, 소문자로 변경해서 실행해 보세요.  

 

안드로이드 애플리케이션 ID 설정 

https://developer.android.com/studio/build/application-id

 

애플리케이션 ID 설정  |  Android 개발자  |  Android Developers

Android 스튜디오의 애플리케이션 ID에 관해 알아보세요.

developer.android.com

 

Version

  • 빌드 번호 설정이다. 
  • .점으로 구분된 숫자가 포함된 문자열의 일반적인 포맷으로 지정된다.(예: 4.3.2 ,  1.1.1  ). 
  • 대규모 업데이트는 앞의 숫자를 증가, 소규모 업데이트는 뒤의 숫자 증가 등으로 활용가능하다.

 

Bundle Version Code

  • 버전 코드이다.
  • 숫자를 사용합니다. 1~100000 
  • 플레이 스토어에 새 버전 등록 시 번들 버전을 올려서 등록한다.
  • 동일한 버전의 APK 파일 또는 App bundle을 등록하면 오류가 발생합니다.  

 

Minimum API Level

  • 최소 안드로이드 버전을 설정한다. 
  • 설정한 API 레벨 이하 사용자에게는 앱이 노출되지 않는다.
  • 버전 설정은 아래의 사이트를 참고.
  • 너무 낮은 레벨을 설정하여, 앱의 기능이 제대로 동작하지 않는것보다는, 적당한 레벨을 지정하는 것을 추천한다. 

 

Target API Level 

  • 프로그램의 타겟이 되는 API 레벨을 설정한다.
  • 원하는 버전을 설정한다.

 

안드로이드 버전 점유율

https://developer.android.com/about/dashboards?hl=ko

 

배포 대시보드  |  Android 개발자  |  Android Developers

Android 생태계 내 활성화되어 있는 기기 특성 및 플랫폼 버전 개요

developer.android.com

 

 

2.4.2 Configuration

 

언급하지 않은 부분은 기본셋팅으로 한다.

Configuration

Scripting Backend 

  • IL2CPP로 설정 한다.
  • Mono는 64비트 Architecture를 사용할 수 없다.  
  • Target Architectures와 관련 있다.

 

Api Compatibility Level

  • .net standard 2.0으로 설정한다.
  • .net framework 4.0 api를 사용하여 프로젝트를 제작하였으면, .net 4.0을 선택한다.

 

C++ Compiler Configuration

  • 앱의 배포는 Release로 설정한다. 

 

Target Architectures

  • Scripting Backend에서 IL2CPP로 설정하여야 64비트 설정이 가능하다.
  • 32비트와 64비트를 같이 지원하기 위해 둘 다 선택한다.
  • ARMv7은 32비트, ARM64는 64비트이다.
  • 2019년 이후 앱을 배포하기 위해서는 64비트를 지원해야한다. 
  • 현재 많은 스마트폰은 32비트를 사용한다. 

 

2.4 Publishing Settings

 

앱을 빌드하기 위해서는 Keystore를 요구한다. 

 

사용중인 Keystore가 없다면 생성.

KeyStore Manager → Keystore → Anywhere 

 

Keystore 사용기한은 생성일로부터 50년이다. 

KeyStore는 안전한곳에 보관한다.

앱 업데이트 및 빌드할때 지속적으로 필요하다. 

 

Keystore 생성이 완료가 되면, Keystore에 등록한 정보를 기반으로 Publishing Settings의 Project Keystore, Project Key를 작성한다.

 

 

 

 

2.5 XR Settings

가상현실 애플리케이션을 제작하는데 사용한다. 

 

3. 안드로이드 빌드

Player Settings이 완료 되면, Build Settings으로 돌아가 Build 한다.

4. 안드로이드 앱 빌드 오류(Build error)

 

Build error

 

빌드에 실패하면 위와 같은 상당히 많은 에러 메시지를 볼 수 있다.

위의 사진은 빌드 에러가 발생한 로그이다. 

에러가 발생하면 1 exception was raised by worker:라는 로그 에러 아래를 확인해보세요.

 

Java.lang.RuntimeException:Java.lang.RuntimeException : com.android.ide.common.signing.KeytoolException: Failed to read key

 

Player settings → Publishing Settings → Keystore 에 문제가 발생한 것이다.  

 

위에 언급한 Player settings 설정 오류로 에러가 발생할 확률이 높습니다.

다시 설정을 꼼꼼히 확인하고 빌드해 보세요.

 

 

참고 자료

 

https://docs.unity3d.com/kr/2018.4/Manual/class-PlayerSettingsAndroid.html

 

Android 플랫폼을 위한 플레이어 설정 - Unity 매뉴얼

이 페이지에서는 Android에만 해당되는 Player 설정에 대해 자세하게 설명합니다. 일반 Player 설정에 대한 설명은 플레이어 설정을 참고하십시오.

docs.unity3d.com

 

728x90