안드로이드 앱 번들(Android App Bundle)이란?
앱의 모든 컴파일된 코드와 리소스를 포함하여 APK 생성 및 서명을 구글 플레이에게 맡기는 게시형식을 말한다.
여러 APK 파일 대신 하나의 AAB 파일로 앱을 배포하여 사용자 기기에 맞는 최적화된 APK 파일을 설치할 수 있도록 해주는 것이다.
즉, 앱을 더 효율적으로 관리하고 최적화된 APK를 생성하여 제공하는 역할을 한다.
안드로이드 앱 번들 파일 형식 (.aab)
안드로이드 앱 번들은 .aab 확장자를 사용한다.
확장자의 aab는 Android App Bundle를 의미하며 안드로이드 앱 번들을 위한 파일 형식(확장자)을 뜻한다.
aab 파일은 압축된 형식으로 되어 있어서 APK파일 보다 크기가 작으며,
사용자 기기에 필요한 코드와 리소스만 포함하는 APK을 제공하기 때문에 다운로드 시 가능한 가장 작은 다운로드로 앱을 설치할 수 있다.
.aab 파일은 구글 플레이 콘솔에서만 사용 가능하다.
즉, 오로지 구글 플레이 콘솔에서만 업로드하고 배포할 수 있다.
구글에서는 2021년 8월부터 구글 플레이에 새로운 앱을 게시할 때 aab 파일 형식을 사용하여 게시하도록 변경되었다.
때문에 이후 새롭게 개발되는 앱을 구글 플레이 스토어에 등록할 때에는 aab파일을 패키징하여 업로드하여야 한다.
AAB와 APK의 차이점은?
AAB(Android App Bundle), APK(Android Application Package)는,
모두 안드로이드 앱을 배포하는 데 사용되는 파일 형식이다.
다만 몇 가지 차이점이 존재한다.
AAB | APK | |
배포 방식 | AAB 파일을 생성하고 구글 플레이 콘솔에 업로드 한다. 구글 플레이가 사용자 기기에 맞는 최적화된 APK 파일을 알아서 제공해준다. | 개발자가 직접 여러 APK 파일을 생성하고 서명하여 다양한 기기 구성을 지원해야 한다. |
앱 크기 | 일반적으로 작다. 사용자 기기에 필요한 코드와 리소스만을 포함하여 앱 크기를 줄일 수 있다. |
일반적으로 크다. 다양한 기기 구성을 지원하기 위해 여러 APK 파일을 포함하여 앱 크기가 커질 수 있다. |
앱 설치 | 사용자 기기에 맞는 최적화된 APK 파일을 자동으로 설치해준다. | 사용자가 기기 구성에 맞는 APK 파일을 직접 설치해야 한다. |
APK 파일보다 AAB 파일이 더 안전할까?
.aab 파일과 .apk 파일 자체만으로 보안을 따지기에는 다소 어렵다.
파일을 어디에서 제공받냐가 보안 위험요소에 가장 크게 작용하다고 생각하는데,
aab 파일이 더 안전하다고 느끼는 이유는 다음과 같다.
1. 설치 과정
apk 파일은 다양한 웹 사이트에서 제공되는 파일들로 신뢰하기 어렵다.
반면 aab 파일은 구글 플레이 스토어에서만 설치가 가능하기 때문에 비교적 신뢰성이 높다.
2. 악성 코드 및 파일 변조
apk 파일은 설치 과정을 이유로 악성 코드가 포함되거나 변조된 파일로 개인정보 유출 등의 문제가 발생할 수 있다.
반면 aab 파일은 구글 플레이 콘솔에 파일 업로드 시, 구글 플레이는 검증 및 서명 과정을 거친다.
때문에 악성 코드 및 파일 위변조의 가능성이 상대적으로 낮다.
3. 제공되는 앱의 크기
aab 파일은 apk 파일에 비해 사용자 기기에 필요한 코드와 리소스만을 설치한다.
때문에 비교적으로 노출되는 코드와 리소스가 적기 때문에 공격 표면을 줄여 보안 위험을 낮출 수 있다.
AAB vs APK 성능 비교
AAB
- 사용자 기기에 필요한 코드만 포함
- 앱 실행 속도가 빠를 수 있음
- 메모리 사용량을 줄일 수 있음
APK
- 불필요한 코드가 포함될 수 있음
- 앱 실행 속도가 느려질 수 있음
- 메모리 사용량이 증가할 수 있음
참고
안드로이드 개발자 - Android App Bundle 정보
안드로이드 개발자 - Android App Bundle 자주 묻는 질문(FAQ)