다른 서비스
NEW
기획
디자인
개발
프로덕트
아웃소싱
프리랜싱
비즈니스
최근 검색어
전체 삭제
최근 검색어가 없습니다.

프로덕트

구글이 안드로이드 앱 배포를 APK 대신 AAB로 바꾸는 이유

구글 AAB

 

파일 이름에는 .pptx .mp4 같이 파일 형식을 나타내는 확장자가 붙는다. 스마트폰 앱에도 이런 확장자가 붙는다(화면에 표시되지 않을 뿐이다). iOS 앱에는 .ipa가, 안드로이드 앱에는 .apk가 붙는다. 작년 11월, 구글은 2021년 8월부터 '구글 플레이에 새로 올라오는 모든 안드로이드 앱은 AAB 형식이어야 한다'며 스토어 정책을 바꿨다 (링크). 기존 앱들은 똑같이 APK로 배포되어도 상관없지만 새로 업로드되는 앱들은 모두 AAB 형식으로 스토어에 올라와야 한다는 내용이다.

 

AAB는 구글이 2018년에 새로 소개한 안드로이드 앱 형식인데, 이번 글에서는 AAB가 정확히 무엇인지, 구글의 새 정책이 어떤 변화를 가져올지 살펴보자.

 

1. APK는 뭔지 알겠는데 AAB는 뭘까?

AAB(Android App Bundle)

 

APK(Android Package)는 이미 완성된 안드로이드 앱 파일이고, AAB(Android App Bundle)는 APK를 완성해주는 요소를 담은 패키지다.

 

예를 들어 어떤 앱을 설치할 때, 한국어 기반의 갤럭시 S21과 독일어 기반의 갤럭시 S10 두 경우 모두 똑같은 APK 파일이 설치되는 것이 지금까지의 방법이었다. 하지만 AAB 형식으로 배포될 경우 사용자 기기에 필요한 파일만으로 구성된, 군더더기가 제거된 APK 파일을 설치할 수 있는 것이다. (예: 한국어 기기에 독일어 파일은 필요 없고 최신 모델에서만 쓸 수 있는 기능은 갤럭시 S10에서는 필요 없을 것이다)

 

기존처럼 모든 기기에 대응할 수 있는 하나의 APK를 전달하는 것이 아니라, 개발자가 스토어에 AAB 패키지를 올려놓으면, 스토어가 사용자 기기에 어떤 내용이 필요한지 확인 후 그에 맞춘 APK 파일을 만들어 배포하는 식이다.

 

 

2. AAB를 쓰면 뭐가 좋은데?

구글 AAB 장점

 

앱의 크기가 줄어든다는 것이 가장 큰 장점이다. 이론적으로만 생각하면 개발자가 각 사용자들에게 맞는 APK 파일 버전을 여러 개 만들어 배포하는 것이 가장 좋다. 하지만 그러기엔 세상에 안드로이드 기기의 종류와 언어가 너무 많다. 그리고 업데이트가 있을 때마다 그 모든 버전을 최신화한다는 것은 물리적으로 불가능하다.

 

그러니 개발자는 앱을 구성하는 요소들을 레고 블록처럼 잘 나누어놓은 다음, 그 블록들을 구글 플레이 스토어에 올려놓는 것이다. 그러면 스토어 측에서 각 사용자에게 맞는 레고 블록만 모아서 조립 후 배포하는 식이다. 이러면 개발자 입장에서는 일일이 맞춤형으로 제작하지 않아도 되고, 사용자 입장에서는 필요 없는 기능은 받지 않아도 된다. 참고로 AAB 형태로 배포하면 앱 크기가 평균 15% 줄어든다고 한다. 특히 경제적인 이유로 용량이 넉넉한 최신 폰을 사용하기 힘든 사용자들에겐 정말 좋은 소식이다.

 

 

3. 무조건 좋아 보이는데, 단점은 없나?

구글 AAB 단점

 

보안에 대한 우려가 있다. 모든 안드로이드 앱에는 개발자의 서명 파일이 들어간다. 서명을 하여 '이 앱을 만든 사람은 나'라는 증거를 남기는 것이다. 서명 파일은 개발자가 APK 파일에 직접 첨부한다. 따라서 누군가가 앱을 멋대로 변형해 배포하려고 해도, 원래 개발자의 서명이 없기 때문에 공식 앱이 아님을 확인할 수 있다.

 

하지만 AAB 파일은 위에서 짚었듯이 완성된 앱이 아니라 완성품으로 태어날 수 있는 레고 블록의 모음이다. 그리고 사용자를 위해 레고 블록을 끼워 맞추는 것은 개발자가 아니라 구글 플레이다. 따라서 서명은 개발자가 아닌 구글 플레이가 대신하게 된다. 마치 부동산 계약할 때 대리인이 서명할 수 있는 것처럼, AAB로 배포되면 필연적으로 구글 플레이가 대리 서명을 하게 되는 것이다.

 

다른 이가 나 대신 서명하는 것은 (아무리 철저하게 진행된다고 해도) 찝찝함이 있을 수밖에 없다. 구글은 대리 서명에 있어 최고의 보안을 약속했지만, 만에 하나 구글이 레고 블록을 엉성하게 조립하거나, 없던 코드를 집어넣는 일이 생기면 그에 대한 사용자들의 불만은 개발자가 고스란히 떠안아야 한다. 사용자 입장에서는 APK건 AAB건 알 바 아니기 때문이다. 개발자 자신의 컨트롤 범위를 벗어난다는 점에서 우려하는 이가 많다.

 

 

4. 구글은 왜 AAB를 강제하는 걸까?

구글 AAB 강제

 

'사용자들에게 딱 필요한 코드만 제공해 앱 용량을 줄이고, 개발자들은 여러 개의 빌드를 준비할 필요가 없다'라는 것이 명분이지만, 사업적인 측면에서도 강제 AAB 정책은 구글에게 이득이다. 안드로이드 앱은 iOS 앱과는 다르게 스토어 종류가 굉장히 많다. 반드시 구글 플레이를 통해 다운로드할 필요가 없다. 삼성이 운영하는 갤럭시 스토어, 통신사들이 운영하는 원스토어, 아마존 앱스토어도 있고, 인터넷에 돌아다니는 APK 파일을 직접 복사해 설치하는 것도 가능하다.

 

이렇게 되면 구글이 스토어 수수료를 떼 가기 힘들어진다. 어떻게든 구글 플레이 스토어를 통해 설치가 되어야 구글이 인앱 결제 수수료를 가져갈 수 있다. AAB 형식을 강제하면 최종 파일은 구글 플레이 서버에서 만들어지고 서명되어 배포되기 때문에, 배포를 컨트롤하는 힘이 구글 쪽으로 쏠릴 수밖에 없다.

 

 

결론

안드로이드 앱의 AAB 형식은 2018년에 처음 등장하였고, 올해 8월부터 강제화 될 예정이다. 기존 앱들은 (원한다면) 계속 APK 형식으로 올려도 되지만, 구글 플레이에 새롭게 올라오는 앱은 무조건 AAB 형식으로 올려야 하는 것이다. 안드로이드 진영에서 구글 플레이만큼의 점유율을 가진 스토어가 없기 때문에(중국 제외), 일정이 미뤄지지 않는 이상 다들 AAB 방식으로 옮겨갈 것으로 보인다.

 

사용자 입장에서는 (앱이 더 가벼워진다고 하니) 장점으로 다가오지만, 부디 개발자들도 'AAB로 하니 더 좋은 걸?'이라고 느낄 만큼 구글이 많은 지원과 업데이트를 약속해주었으면 하는 바람이다. 결국 개발자들이 개발하기 좋은 환경일수록 앱의 퀄리티도 올라갈 것이기 때문이다. 


<참고 자료>

글에 사용된 이미지 일부는 안드로이드 개발자 공식 홈페이지에서 캡처한 것입니다.

댓글 0

맨오브피스

효율 추구에만 매달리지 않으려고 노력하는 프로덕트 매니저입니다.

일론 머스크가 트위터를 인수한 이유는?

비즈니스

롱블랙 뉴스레터 솔직 리뷰

프로덕트

프로덕트 보물창고, Product Hunt의 수익 모델 살펴보기

비즈니스

애드블록의 광고 차단 원리는 무엇일까?

프로덕트

개발자와 대화할 때 유용한 도구 4가지

프로덕트

엑셀 함수는 곧 사라질 운명이 아닐까?

기획

읽히는 슬랙 (업무) 메시지 쓰는 법

기획

비개발자가 코딩을 배우면 좋은 이유

기획

내 생활을 지키는 알림 설정 전략

기획

우선순위가 낮은 작업은 언제 처리해야 할까?

기획

순조로운 퇴사를 위해 해야 할 일 5가지

기획

OTT 시대의 반항아, 일본 ‘TVer’ 살펴보기

프로덕트

유튜브에서 '싫어요' 숫자가 사라졌다

프로덕트

슈퍼휴먼, 이메일에 월 30달러나 쓰는 이유는?

프로덕트

구글의 수수료 정책은 정말로 부당할까?

프로덕트

인터넷 뱅킹, Z세대에 열광하는 이유는?

프로덕트

나를 만족시킨 QR 체크인 앱은 무엇일까?

프로덕트

스포티파이, 왜 한국에서는 그저 그럴까?

프로덕트

구글의 발표는 왜 지루할까? (feat. 애플 이벤트)

프로덕트

OTT 이야기에 로쿠(Roku)가 빠질 수 없지

프로덕트

프로덕트 매니저라는 직무는 왜 생긴 것일까?

기획

디자인 커뮤니케이션 툴, 윔지컬(Whimsical) 둘러보기

프로덕트

영상 컨펌 협업툴 '이미지블' 살펴보기

프로덕트

테크 기업 CEO들의 하루 살펴보기

기획

구글 캘린더 100% 활용하기

프로덕트

총성 없는 전쟁, 아마존 VS 가짜 리뷰

프로덕트

애플 TV+는 잘 되고 있을까?

프로덕트

구글 스태디아는 왜 흥하지 못했을까?

프로덕트

경기지역화폐 앱 살펴보기

프로덕트

"카운트다운 시작!!!"...출시 앞둔 디즈니플러스 미리보기

프로덕트

점유율 2%의 활약, MS 빙(Bing)

프로덕트

PM 업무에 꼭 필요한 소프트 스킬 6가지

기획

업무 생산성을 높이는 IT 환경 만들기

기획

다른 나라 사람들은 어떤 앱에 돈을 쓸까?

프로덕트

아동 성착취물을 막겠다는 애플은 왜 욕먹는 걸까?

프로덕트

휴가 떠나기 전, 인수인계 확실히 하는 법

기획

구글이 직접 반도체를 만드는 게 나랑 무슨 상관일까?

비즈니스

구독 서비스를 현명하게 사용하는 5가지 방법

기획

디지털 피규어 콜렉팅 앱, 비브(VeVe) 살펴보기

프로덕트

구글 미트가 프로그레시브 웹 앱(PWA)으로 출시된 이유

프로덕트

깃허브 코파일럿(Copilot)은 무엇이며, 왜 욕먹는 걸까?

프로덕트

원격근무의 치명적 단점 5가지

기획

IT 직무 탐구: 프로덕트 매니저 vs 프로덕트 오너 (+그 외)

기획

구글 앱시트(AppSheet)로 노코드 앱 만들기

프로덕트

이제는 운영체제도 구독이다! 윈도우 365 공개

프로덕트

즐겁고 효율적인 재택근무를 위한 7가지 기술

기획

절대 빼놓을 수 없는 크롬 확장 프로그램 7가지

프로덕트

IT 스타트업의 ­인수합병이 실무자에게 미치는 영향

기획

트위터 블루와 슈퍼 팔로우는 과연 돈 값을 할까?

프로덕트

경기도가 만든 배달 앱, 배달특급 리뷰

프로덕트

점점 맥을 닮아가네? 윈도우 11만의 특징 살펴보기

프로덕트

메시지 예약이 된다고? 슬랙의 최신 기능 5개 따라잡기

프로덕트

날씨 앱 번개가 더 리얼해졌다! iOS 15 미리 보기

프로덕트

스포티파이가 만든 클럽하우스, '그린룸' 살펴보기

프로덕트

안드로이드 12가 온다! 주요 기능 살펴보기

프로덕트

넷플릭스의 새로운 기능, 랜덤 재생 살펴보기

프로덕트

맥에서도 쓸 수 있는 마이크로소프트 엣지만의 장점

프로덕트

쉽게 읽히는 티켓 쓰는 법

기획

당근마켓은 어떻게 돈을 벌까?

프로덕트

구글 시트로 앱스토어 정보 긁어오는 방법

프로덕트

클럽하우스 인기가 뚝 떨어진 이유

프로덕트

데이터별 딱 맞는 그래프 찾기

기획

프로젝트 매니지먼트에 도움이 되는 툴들

기획

비개발자를 위한 파이썬 독학법 (하)

개발

비개발자를 위한 파이썬 독학법 (상)

개발

아웃소싱 개발이 필요한 상황은?

아웃소싱

#해시태그가 정확히 무엇인가요? 해시태그 A to Z

기획

아이디어를 체계적으로 기록하는 방법

기획

그럼에도 불구하고, 엑셀이 필요한 이유

프로덕트

소프트웨어 개발은 어떻게 이루어질까?

개발

구글의 OTP는 어떻게 비행기 모드에서도 작동할까?

기획

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.