AndroidStudio 에서는 빌드 결과물로
APK(Android 애플리케이션 패키지)와 AAB(Android App Bundle) 두 가지 형태를 제공한다.
흔히 앱 설치 파일로 알고 있는 APK는 Gradle에서 설정한 API 버전에 해당하는 모든 설치 파일이 압축되어 있는 형태로,
Android 버전과 상관없이 동일한 파일로 앱을 설치한다.
반면, Android App Bundle은 다운로드 요청 시 사용자 단말 버전에 해당하는 API만 추출하여 빌드한 APK로 앱을 설치한다.
즉, Android App Bundle 형태로 빌드한 APK의 경우 필요한 API 버전만 포함하고 있어,
기존 방식의 APK 보다 현저히 작은 용량으로 앱을 제공한다.
실제로 Google Playstore에 앱을 등록할 때는 aab 형식을 권장하고,
테스트 과정에서 apk로만 테스트 할 경우 aab 설치 방식에서만 나타나는 이슈를 확인하지 못하는 경우도 있다.
그래서 알아본 aab 파일을 이용한 앱 빌드 및 설치 방법
Android App Bundle 빌드 방법
1. Android App Bundle 파일 생성
Android Studio 상단 메뉴 > Build - Build Bundle(s) / APK(s) - Build Bundle(s) 클릭
2. aab 파일 디렉토리로 이동
일반적으로 C:\Users\사용자이름\AndroidStudioProjects\프로젝트이름\app\build\outputs\bundle\debug
Tip ! 빌드가 끝나면 하단에 알림창 or Event Log창에 알림이 뜨는데, locate 를 클릭하면 해당 디렉토리가 열린다.
Android App Bundle 앱 설치 방법
1. bundletool git hub 페이지에서 가장 최신 버전의 bundletool .jar 파일 다운로드
Releases · google/bundletool
Bundletool is a command-line tool to manipulate Android App Bundles - google/bundletool
github.com
2. 명령 프롬프트(cmd) 실행 후 bundletool 버전 확인
cd aab 파일 디렉토리
java -jar bundletool파일명 version
예시)
/* 디렉토리로 이동 */
cd C:\Users\사용자이름\AndroidStudioProjects\프로젝트이름\app\build\outputs\bundle\debug
/* bundletool 버전 확인 */
java -jar bundletool파일명 version
예시)
Microsoft Windows [Version 10.0.18362.1139]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\Users\Username> cd C:\Users\Username\AndroidStudioProjects\Myapplication\app\build\outputs\bundle\debug
C:\Users\Username\AndroidStudioProjects\Myapplication\app\build\outputs\bundle\debug> java -jar bundletool-all-1.3.0.jar version
1.3.0
3. bundletool을 이용하여 APK 파일 설치
① 앱 설치할 스마트폰 USB 디버깅 모드로 PC 연결 ※ adb devices 명령어로 연결상태 확인
② bundletool로 연결된 스마트폰 버전에 맞는 APKs 생성 ※--connected-device 옵션을 생략하면, 모든 API 버전을 포함하는 APKs 생성
java -jar "bundletool파일명.jar" build-apks --connected-device --bundle="aab파일명.abb" --output="생성할apks파일명.apks"
③ 생성한 APKs로 스마트폰에 앱 설치
java -jar "bundletool파일명.jar" install-apks --apks="생성된apks파일명.apks"
예시)
/* 디렉토리로 이동 */
cd C:\Users\사용자이름\AndroidStudioProjects\프로젝트이름\app\build\outputs\bundle\debug
/* APKs 생성 */
java -jar "bundletool파일명.jar" build-apks --connected-device --bundle="aab파일명.abb" --output="생성할apks파일명.apks"
/* APK 설치 */
java -jar "bundletool파일명.jar" install-apks --apks="생성된apks파일명.apks"
예시)
Microsoft Windows [Version 10.0.18362.1139]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\Users\Username> cd C:\Users\Username\AndroidStudioProjects\Myapplication\app\build\outputs\bundle\debug
C:\Users\Username\AndroidStudioProjects\Myapplication\app\build\outputs\bundle\debug>
java -jar "bundletool-all-1.3.0.jar" build-apks --connected-device --bundle="app-debug.abb" --output="generated.apks"
C:\Users\Username\AndroidStudioProjects\Myapplication\app\build\outputs\bundle\debug>
java -jar "bundletool-all-1.3.0.jar" build-apks install-apks --apks="generated.apks"
※ 주의 사항 ※ |
참고 사이트 : Android 개발할 맛 나게 해주는 친절한 Android 개발자 문서
bundletool | Android 개발자 | Android Developers
Android App Bundle을 빌드한 후에는 Google Play에서 어떻게 Android App Bundle을 사용하여 APK를 생성하는지, APK가 기기에 배포되었을 때 어떻게 작동하는지 테스트해야 합니다. App Bundle을 두 가지 방식으로
developer.android.com
'곰대생 > Android' 카테고리의 다른 글
Android GDB 설치 및 실행 방법 (Mac OS) (0) | 2020.12.08 |
---|---|
Android 프로젝트 APK 추출하기 (0) | 2020.12.06 |
Android Gradle 설정 동기화 방법 (0) | 2020.12.06 |
Android Gradle 설정 파일 (0) | 2020.12.06 |
Android 앱의 구성 및 빌드 프로세스 (0) | 2020.12.06 |