엄코딩의 개발 일지

2018 Google IO에서 App Bundle에 대한 세미나를 들었습니다.

'적용해야지' 말만 하다가 이번 기회에 적용해보았습니다.


App Bundle 이란?

App Bundle 이란 APK 와 비슷하지만 모든 코드, 리소스, CPU 아키텍처와 메다데이터를 압축한 zip파일입니다. 그래서 Google Play는 App Bundle에서 사용자 기기에 필요한 코드와 리소스만을 선택해 빌드될 수 있는 것입니다.
App Bundle 을 빌드하면 .aab 파일이 생성됩니다.
빌드된 aab 파일을 Play Store에 업로드하면 Play Store가 각각 기기에 최적화된 APK를 빌드합니다.



( 위의 자료는 정리를 잘해두신 zerogdev 블로그를 참고하였습니다. )


안드로이드 앱 번들은 모든 응용 프로그램의 컴파일 된 코드와 리소스를 포함하는 새로운 업로드 형식이지만, Google Play 에 APK 생성 및 서명을 연기합니다.

그런 다음, Google Play의 새로운 앱 게제 모델인 Dynamic Delivery를 이용하여,

App Bundle을 사용자의 기기 구성에 최적화된 APK를 생성하고 게제함으로써 앱을 실행하는 데 필요한 코드와 리소스만 다운로드합니다. 


이제는, 서로 다른 장치를 지원하기 위해 더 이상 APK를 작성, 서명 및 관리 할 필요가 없으며 사용자는 더 작고 최적화 된 APK를 다운로드 받을 수 있습니다.




App Bundle 생성

서비스 중인 앱의 App Bundle을 생성하는 방법은 간단합니다.

Build -> Generate Bundle / APK -> Android App Bundle

그런데 저는 아래와 같은 에러 메시지를 확인했습니다.

The Android Gradle plugin supports only Kotlin Gradle plugin version 1.2.51 and higher. Project '~~~' is using version 1.2.20.


Kotlin은 사용하고있는데, Kotlin Gradle plugin version이 낮아서 발생하는 에러였습니다.
그래서 해당 플러그인을 업데이트하려고 보니, 안드로이드 스튜디오 버전을 올리기로 결심.
( 저는 3.2 Preview 버전을 사용하고 있었습니다. )


3.2 버전으로 올리니 위와 같은 화면을 볼 수 있네요. 

코틀린 플러그인 버전은 1.2.51을 사용했습니다.



App Bundle로 생성하니 .aab가 나오긴하는데... 용량이 기존 용량과 비슷합니다.

기존 용량은 google play store에 올렸을 때 28MB 정도였습니다.

의심을 품고, 업로드 해보겠습니다.



음 이건... 55%나 감소되는거면 기존에 안쓰는 리소스가 상당했나 봅니다.



놀랍게도 정말 용량이 확 줄은 것을 확인할 수 있습니다.

기쁜 마음을 추스리고,


배포 후 다운로드 받아서 이상이 없습니다!!


App Bundle 사용하시고, 사용자가 다운받기에 부담스럽지 않은 용량이 되도록 노력해보세요!


읽어주셔서 감사합니다.


혹시나 제가 잘 못 이해한 부분이나, 추가 조언, 피드백 환영합니다.

주저마시고 말해주세요.