※ 안드로이드 APK 파일 생성
1. Build Settings
프로젝트의 빌드 셋팅을 Android로 변경한다.
프로젝트에 구현된 Scene들을 Scenes in Build에 등록한다.
프로젝트 실행 시 가장 위의 Scene이 먼저 실행 된다.
2. Player settings
2.1 Player 및 Icon
- Company Name : 회사이름
- Product Name : 프로그램이름
- Default Icon : 아이콘
Google Play console에서 Publishing을 할 때 아이콘을 추가하도록 되어있다. 앱 등록 시 아이콘 크기는 512x512이다.
Default Icon, Round Icons에 등록한다.
2.2 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
Package Name
-
애플리케이션 ID 설정이다.
-
com.companyname.appname 을 기본 구조로 한다
-
자신에게 맞는 구조로 변경 가능하다.
※대문자 및 숫자 등 사용 시 에러가 발생하면, 숫자 삭제, 소문자로 변경해서 실행해 보세요.
안드로이드 애플리케이션 ID 설정
https://developer.android.com/studio/build/application-id
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
2.4.2 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)
빌드에 실패하면 위와 같은 상당히 많은 에러 메시지를 볼 수 있다.
위의 사진은 빌드 에러가 발생한 로그이다.
에러가 발생하면 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
'유니티' 카테고리의 다른 글
유니티 안드로이드 앱 번들 빌드 (App bundle) (0) | 2020.04.12 |
---|---|
유니티 구글 플레이 스토어 앱 등록 (0) | 2020.04.10 |
유니티 구글 플레이 게임 서비스 연동1( 연결하기) (0) | 2020.04.08 |
유니티 광고 Advertisement 사용하기 (0) | 2020.04.08 |
유니티 안드로이드 광고 개인정보처리방침 (0) | 2020.04.07 |