Platform/Android

[aab] Android App Bundle

개랭갱깽스타 2020. 3. 6. 09:33

aab가 왜 필요해?

Android 64bit 지원 정책으로 인해 64bit용 native library를 build하여 package에 추가해야 했기 때문에, 앱 패키지용량은 증가할수 밖에 없는 상황이 되어 버렸다. ---> aab가 해결!

aab가 왜 좋은데?

- 사용자가 앱을 다운 받을 때, 앱 다운로드 크기 & 디스크 할당 크기 save
- Android 6.0 이상: 다운로드 크기, 디스크 할당 크기, 설치 시간 save (how? apk대신 저장되는 압축X 기본 라이브러리 사용)
- 사용자에게 필요한 기능 및 설정을 사용자가 요청할 때 제공
- 효율적인 빌드 및 출시 관리: 여러 개의 apk를 빌드하고 게시할 필요 X

aab로 어떻게 테스트해?

1.google play beta test에 등록: beta test에 테스터의 계정을 추가하여 테스트 진행
2.개발환경과 연결된 device에 직접 설치: bundletool

2번 방법을 자세히 써 보겠다!

1) bundletool 다운로드

https://github.com/google/bundletool/releases
-기존 adb를 이용한 디바이스 install X

2) aab -> apks -> apks를 bundletool을(adb X) 이용해 디바이스에 installl

  • APKs 란?
  • APKs(dynamic feature modules)
    google play를 통해 배포되는 방식과 가장 유사 | APKs 패키지 안에 각 디바이스에 맞는 많은 spilt apk들이 포함되있음
  • APKs(universal moduel)
    단일 apk | 하나의 apk를 통하여 모든 디바이스에 설치가 가능한 모드
  • APKs 만들기
  • APKs(dynamic feature modules)
java -jar "다운로드받은 bundletool.{version}.jar 경로" build-apks --bundle="만든 aab경로\myApp.aab" --output="만들 dynamic apks 경로\dynamic.apks"

 

  • APKs(universal moduel)
java -jar "다운로드받은 bundletool.{version}.jar 경로" build-apks --mode=universal --bundle="만든 aab경로\myApp.aab" --output="만들 dynamic apks 경로\dynamic.apks"

 

3) APKs 설치

java -jar "bundletool-all-0.10.0.jar" install-apks --apks="2)에서 만든 dynamic.apks경로\dynamic.apks"

 

[구글플레이 설치]
aab -> 구글플레이 업로드 -> 구글플레이에서 사용자 다운로드클릭 
-> 구글플레이에서 사용자 기기에 맞는 리소스만 조립하여 apk 생성 
-> 구글에 올려놓은 키스토어로 사인 
-> 사인된 조립된 apk 다운로드 -> 설치

 

참고


[TECH] ANDROID APP BUNDLE (AAB)의 장점과 TEST 방안

https://liapp.lockincomp.com/ko/blog/blog-Post/tech-google-android-app-bundle/

 

[TECH] ANDROID APP BUNDLE (AAB)의 장점과 TEST 방안

ANDROID APP BUNDLE (AAB)의 장점과 TEST 방안 - 구글에서 제공하고 있는 AAB를 사용하였을때 얻을수 있는 이점과 실제 앱이 정상적으로 동작하는지 확인할 수 있는 테스트 방안에 대해 설명 합니다.

liapp.lockincomp.com

 

[Android] Bundletool 설치 방법

https://m.blog.naver.com/PostView.nhn?blogId=lys1900&logNo=221677265180&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

[ Android ] Bundletool 설치 방법

[ Android ] Bundletool 설치 방법​​번들 툴 이란?https://developer.android.com/studio/command-line...

blog.naver.com

 

반응형

'Platform > Android' 카테고리의 다른 글

[Jetpack] 0. 개요  (2) 2020.04.03
ViewModel / LiveData / RecyclerView  (0) 2020.03.27
[AAC] ViewModel | LiveData  (0) 2020.03.18
[Class]  (0) 2020.03.17
[adb] adb 명령어  (0) 2020.02.25