우선 간단하게, 안드로이드 스튜디오에 앱이 완성된 다음 바이너리 파일을 배포하는 방식에 대해서 간단하게 살펴보도록 하겠습니다. 기본적으로 안드로이드 앱 배포에 있어서는 키(Key) 생성과 이를 통한 서명이 필요합니다. 그리고 APK 혹은 AAB 형태로 바이너리 파일을 생성하는 과정이 필요합니다. 이 과정을 함께 살펴보도록 하겠습니다.
○ package name 확인
우선 안드로이드 스튜디오에서 프로젝트 하이어라키 중, [Gradle Scripts] > [build.gradle (Module: ______.app) ]을 확인해 봅시다. 해당 라인 중 applicationId에 패키지명이 작성되어 있습니다. 해당 패키지명이 중복되는 앱이 있으면 릴리즈가 불가하니 다시 한번 이슈가 없는지 확인이 필요합니다.
○ 빌드 생성
우선 Hello World!가 출력되는 기본 샘플 상태에서 해당 모듈의 빌드를 생성해 보겠습니다. 우선, 스튜디오 메뉴 중 [Build] > [Generate Signed Bundle / APK]를 선택합니다.
그러면 배포 방법을 선택하는 화면을 만나게 됩니다. 배포 형태는 현재 두 가지입니다. 바로 AAB(Android App Bundle) 형태와 APK입니다. 우선, 여기서는 가장 클래식한 방식인 APK를 선택해 진행하겠습니다. 이후 등장하는 프로세스 중 키(Key) 생성과 서명의 경우 공통 프로세스이므로 형태에 상관없이 절차를 따라오시면 됩니다.
○ Key 서명하기
기본적으로 안드로이드 앱은 키(Key)로 서명한 다음 공식적으로 배포가 가능합니다. 참고로 앱 별로 구분은 패키지 명으로 고유한 구분을 진행합니다. 그래서, 여러 개의 앱을 하나의 서명으로도 배포가 가능한 구조이니 참고하세요.
아래와 같이 팝업이 출력되면 [Create new...]를 클릭해 봅시다. 만일 기존에 사용하던 키 파일이 존재하는 상황이면 [Choose existing]을 선택하면 됩니다.
새로운 키를 생성하면, 아래와 같은 화면을 만나게 됩니다. 하나씩 차근차근 진행해 보겠습니다.
우선 Key store path의 폴더 버튼을 클릭해 키 파일이 저장될 경로와 파일 명을 지정해줍니다.
그리고 해당 파일에 대한 정보를 작성해줍니다. 경로 / 키 비밀번호는 분실하지 않도록 주의하시기 바랍니다.
확인을 누르면 생성된 키 정보를 확인하고 진행할 수 있습니다.
이제 APK파일 추출 경로와 빌드 버전을 선택할 수 있습니다. 일단 배포를 가정하고 release를 선택해 줍니다. 두 가지의 차이점은 아래 아티클도 참고해주세요.
debug <=> release 모드의 차이점과 배포
출처 : http://jiny2097.blog.me/30043517038 릴리즈 모드 (프로그램을 배포하기 위해 컴파일 하는 모드) - 초기화 하지 않습니다. - 같은 문자열 상수라도 서로 다른 공간에 할당됩니다. - 디버깅정보를 삽
killsia.tistory.com
아래와 같이 완료 메시지가 출력되면, 산출된 APK를 확인할 수 있습니다.
○ AAB(Android App Bundle) 형태로 배포하기
안드로이드에서 2018년 발표한 형식인 AAB는 .aab라는 확장자를 갖습니다. 기존 APK대비 가장 큰 장점은 모듈화 된 바이너리의 구조로 인해, 유저에게 설치 용량 부담을 최소화시킬 수 있다는 점입니다.
Android App Bundle 형식 | Android 개발자 | Android Developers
Android App Bundle 형식 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android App Bundle은 Google Play에 업로드하는 파일(파일 확장자는 .aab)입니다. App Bundle은 그림 1
developer.android.com
예를 들어 하나의 앱에 5개의 국가별 음성/자막/영상 리소스가 각각 들어있다고 생각해 보겠습니다. 기존 APK 형태라면 5개 국가용 리소스가 APK에 모두 들어가고 국가별로 필요한 리소스를 사용하게 됩니다. 하지만 AAB 형태의 경우 모든 리소스들이 모듈화 되어 있습니다. 이 모듈화 된 리소스는 Dynamic Delivery(동적 전달) 기법을 기반으로 사용자에게 필요한 리소스만 배포됩니다. 실제로 유저가 다운로드하는 용량이 줄어들 수 있는 것이죠.
우리가 APK를 추출한 과정을 다시 그대로 진행해 보겠습니다. 이번에는 AAB를 선택해 봅시다.
이번에는 앞서 생성했던 key를 그대로 사용해 보겠습니다. 참고로 배포를 위한 암호화된 키도 추출이 진행되니, 별도의 경로를 설정해 두겠습니다.
아래와 같이 aab 파일이 생성되었습니다.
또한 암호화 된 키도 추출되었습니다.
'Programming > Android' 카테고리의 다른 글
2. 안드로이드 기본 구조의 이해 (2) - 컴포넌트(component) 2 (0) | 2023.11.27 |
---|---|
2. 안드로이드 기본 구조의 이해 (2) - 컴포넌트(component) 1 (0) | 2023.11.15 |
2. 안드로이드 기본 구조의 이해 (1) - 안드로이드 아키텍쳐 (0) | 2023.11.12 |
1. 안드로이드 스튜디오 기본 환경 구축 (2) (0) | 2023.10.05 |
1. 안드로이드 스튜디오 기본 환경 구축 (1) (0) | 2023.10.04 |