일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 책 정리
- HackerRank
- Android
- 해커랭크 문제풀이
- 방학여행
- IOS
- javascript
- 독서
- 서평
- Effective C#
- 문제풀이
- 알고리즘 문제풀이
- 책리뷰
- 이펙티브 씨샵
- 빌드
- 자유여행
- build
- 정렬
- 일본음식
- 프로그래밍도서
- C#
- 코토리
- 개발
- 알고리즘
- 독후감
- 유니티
- 이펙티브 C#
- Unity
- 프로그래밍
- 해커랭크
- Today
- Total
Console.Log
[Unity] Android AAB 150mb 이상일 때 추가 코드 없이 Addressable과 함께 처리하기 본문
[Unity] Android AAB 150mb 이상일 때 추가 코드 없이 Addressable과 함께 처리하기
Youngchangoon 2022. 5. 19. 21:35문제
게임 개발을 하다보면 Android AAB 빌드 용량이 150mb를 넘기는 순간이 온다. 이 때부터 개발자는 AAB내 base파일과 리소스 파일을 분리하여 base파일을 150mb가 넘어가지 않도록 수정해야 한다.
해결
Play Asset Delivery
안드로이드에서는 이런 문제를 해결 하기 위해 PAD(Play Asset Delivery)를 지원한다. PAD는 구글플레이에서 지원하는 애셋 호스팅 서비스다. 이 서비스를 사용하면 따로 CDN을 쓰지 않아도 쉽고 간편하게 애셋을 올릴 수 있다.
전송 모드
PAD는 총 3가지의 전송 모드를 지원한다.
- install-time: 앱이 설치될때 같이 전송된 된다. google play의 앱 크기에 영향을 미친다. ( 최대 1GB )
- fast-follow: 앱이 설치되는 즉시 자동으로 다운로드 된다. ( 최대 512MB )
- on-demand: 애셋팩은 앱이 실행 되는 동안 원하는 시점에 다운로드 된다. ( 최대 512MB )
Addressable + PAD Plugin 설치
https://github.com/Unity-Technologies/Addressables-Sample
위 Github에 들어가서 Addressable-Sample을 다운받는다. Unity공식 가이드를 많이 참고하였다.
프로젝트를 잘 살펴보면 Advanced/Play Asset Delivery라는 폴더가 있는데 이 폴더를 통째로 자신 프로젝트의 최상단인 Assets/ 경로에 복사한다.
Plugin 설정
Addressable 설정
Assets/PlayAssetDelivery/Data에 들어있는 Setting값들을 위와같이 추가한다.
Addressable Group Window에서 [Create] - [Group] - [Asset Pack Content]를 눌러 AssetGroup을 추가한다.
- 위와 같이 Build Path와 Load Path는 Local로 설정한다.
- [Add Schema]를 눌러 Play Asset Delivery를 누른 후 InstallTimeContent로 설정한다.
위 Asset Inspector창에서 Advanced Options를 누르면 위와 같은 창이 뜬다. 설정은 2가지만 하면 된다. 헷갈리지 않게 주의!
- Asset Provider - Assets from Bundles Provider
- Asset Bundle Provider - Play Asset Delivery Provider
안드로이드 설정
- [PlayerSettings]를 들어가 Split Application Binary를 꼭 체크
- Custom Launcher Gradle Template를 체크한 후 launcherTemplate.gradle 파일에 들어가 buildTypes 부분에 PLAY_ASSET_PACKS를 추가해준다.
빌드 및 확인
모든 세팅이 끝나면 Addressable 윈도우 창에서 [New Build] - [Play Asset Delivery]를 눌러준다. 이 빌드가 완료되면 기존처럼 AAB파일을 빌드한다.
리소스 분할이 잘 적용되어 있는지 확인하는법
.aab파일을 .zip파일로 변환한후 압축을 해제한다. 해제 후 폴더 안에 UnityDataAssetPack 파일이 있는지 확인한다.
'프로그래밍 > Unity' 카테고리의 다른 글
[Unity] 유니티 MVC 패턴 적용하기 (1) | 2021.04.19 |
---|---|
[Xcode] Xcode 때문에 생기는 맥 용량 부족 해결 (0) | 2020.08.29 |
[Unity] 유니티 안드로이드 Gradle 빌드 오류 상세보기 (3) | 2019.12.26 |
C# Extensions Method를 Unity에 활용하기 (0) | 2018.10.24 |
[Unity] 2D 게임개발하면서 여러가지 에셋을 써본 후기 (0) | 2017.07.21 |