[Android] aab 파일 apk 로 변환하기
TL;DR
download bundle tool jar (link 새창)
run this code
java -jar "bundletool-all-1.2.0.jar"(버전은 최신 버전으로 맞추자) build-apks --bundle="your.aab(변환할 .aab 파일)" --output="universal.apks(.apk 파일 경로와 파일명" --mode=universal
aab 가 무엇인가요?
안드로이드 앱 번들 (Android App Bundle)은 지속적으로 증가하는 APK 의 파일 크기를 해결하기 위해 나왔습니다.
안드로이드는 다양한 플랫폼들을 지원하는게 큰 장점이죠. 확장성이 너무 좋습니다. 하지만 이렇게 다양한 플랫폼을 지원하기 위해 각기 다른 CPU 와 화면 크기, 32bit, 64bit 에 맞는 이진 바이너리 파일들이 APK 에 하나로 뭉쳐져야 합니다.
그렇기 때문에 APK는 시간이 지날 수록 점점 더 비대해졌습니다.
문제는 이렇게 비대해진 apk 파일이 앱 다운로드에 좋지 않은 영향을 미친다는 것이였죠.
사용자들은 APK 의 크기가 커지면 커질수록 다운로드를 꺼려했습니다.
그래서 구글에선 앱 번들을 통해 이러한 apk 의 크기를 줄이고자 합니다. 어떻게 그게 가능할까요?
위 사진 설명처럼, 기존 APK 가 모든 언어, 모든 화면, 모든 CPU 유형을 다 담은 하나의 바이너리 파일이라면,
aab 에서 다이나믹 딜리버리 된 앱은 현재 디바이스에 필요한 정보만 가져와 설치하기 때문에 설치 파일이 작아집니다.
그럼 이제 aab 를 apk 로 변환하는 방법을 알아보겠습니다.
How to?
Step 1. Download Bundle tool
가장 먼저 bundle tool 를 다운로드 받아야합니다.
구글에서 제공하고 있는 bundle tool 의 레포지토리에서 다운로드가 가능합니다.
https://github.com/google/bundletool/releases (새창)
링크를 들어가신 뒤, jar 압축 파일을 받아주세요.
Step 2. Run APK Extra Command
이제 aab 파일을 apk 파일로 변경할 시간입니다.
java -jar "bundletool-all-1.2.0.jar"(버전은 최신 버전으로 맞추자) build-apks --bundle="your.aab(변환할 .aab 파일)" --output="universal.apks(.apk 파일 경로와 파일명" --mode=universal
여기에서 -jar “bundletoo..” 은 다운로드 받을 때 버전에 따라 버전 명이 변경될 수 있습니다.
위 명령어를 입력해서 aab 파일을 변환 시키면 zip 파일이 반환됩니다.
zip 파일을 열어보면 universal.apk 가 들어 있습니다.
긴 글 읽어주셔서 감사합니다.