[App bundle] Dynamic module Test #6 Dynamic module을 정상적으로 Test 해보기 위해서는 아래의 조건이 필요합니다 Google Play Console 계정이 필요하다. (계정을 여는데 $25 정도였던 것 같습니다.) 마켓에 런칭되었거나, Google Play Console에 등록된 앱이 필요하다. 계정 만드는 부분은 일회성으로 $25을 내고 개발자로 등록하여 Play console에 진입할 수 있습니다. 하지만 Test 앱을 하나 등록하고 메뉴를 세팅하는 과정은 단순 Dynamic module을 테스트하기에는 너무 귀찮은 작업입니다. 하지만 마켓에 런칭한 앱이 있다는 가정하에 설명하도록 하겠습니다. Local Test Dynamic Module을 on-demand 형태로 추가하기 위해서는 local에서 app 설치시 해당 모듈은.. 개발이야기/Android 4년 전
[App bundle] Module Access(모듈간 호출) #5 다운로드 받은 모듈은 앞선 SplitCompat 관련된 코드로 접근이 가능합니다. Base모듈의 Application 단에서 SplitCompat.install()을 수행하고 Dynamic feature module의 Activity에서는 SplitCompat.installActivity()를 호출하여 두 모듈을 연결해 주는 작업을 합니다. 이번에는 각 모듈 간 resource에 접근하고 호출하는 부분에 대한 내용을 설명합니다. SplitCompat의 설정 이전글에서도 언급했지만 다운로드가 완료된 후 모듈에 access 하려면 Base Module과 Dynamic Moudule에 아래와 같이 선언되어야 합니다. Base Module - Application class에 SplitCompat.install.. 개발이야기/Android 4년 전
[App bundle] Dynamic Module Download #4 앞선 주제들에서 Dynamic module을 모듈에 추가했습니다. install-time에 다운로드를 하는 경우 크기 신경 쓸 것이 없지만 조건부 다운로드나, 사용자 요청에 의한 다운로드 시 모듈을 Google play에서 다운로드 받는 방법에 대해서 알아봅니다. 이미 구글에서 제공하는 Sample 코드가 존재하므로 이를 바탕으로 직접 구현한 예제를 가지고 코드를 살펴봅니다. [1] 환경설정 Module의 다운로드 및 Module 간 통신을 위해서는 Play Core library를 사용해야 합니다. 이는 앱과 Google Play를 연결하는 runtime interface입니다. 먼저 library를 사용하기 위해서 gradle에 아래와 같이 추가합니다. dependencies { implementat.. 개발이야기/Android 4년 전
[App bundle] Feature Module 개요 및 생성 #3 App bundle이 적용되면서 앱 설치 시 설치 대상 기기에 맞춤 사항들이 조합되어 Google play를 통해 다운로드됩니다. 기본 동작을 하는 Base APK, 해상도와 관련된 Desity APK, Native Libaray APK, 언어 APKs 등이 Play store에서 각기 분리된 Split Apk로 존재하면서 설치 요청 시 단말에 필요한 것들만 조합되어 다운로드 및 설치됩니다. 이렇게 Google Play가 자동으로 분할되어 존재하는 APK 이외에 앱 개발자가 기획적이거나 기술적인 이유로 특정 기능을 분리하여 필요에 따라 설치/삭제할 수 있도록 만든 것을 Dynamic Feature Module이라고 합니다. 동적 다운로드를 크게 두 개의 분류로 나눠보면 특정 기능(동작 코드 + Nativ.. 개발이야기/Android 4년 전
[App bundle] 생성과 설치(bundle tool의 사용) #2 App bundle을 이용하여 분할된 APK들을 직접 단말에 설치해 볼 수 있습니다. App bundle 자체로는 설치가 불가능 하기 때문에 App bundle file인 aab(Android App Bunlde)을 apk로 변경하고 설치하는 방법에 대해서 알아봅니다. App Bundle 생성 Android studio를 이용하면 간단하게 app bundle을 생성할 수 있습니다. 표시된 그림의 하단 Menu인 Generate Signed Bundle을 이용하면 signing 된 app bundle 생성이 가능하며, 이를 바로 Play store에 업로드하면 됩니다. 빌드가 완료되면 project가 설치된 폴더의 app/build/outputs/bundle/... 아래에서 생성된 aab 파일을 확인할 수.. 개발이야기/Android 4년 전
[App bundle] 개념과 필요성 #1 2018년 구글 IO에서 App bundle의 개념을 발표했습니다. 앱을 배포하는 새로운 방식 대한 내용이지만 배포뿐만 아니라 개발 방식에도 차이가 발생함에 따라 배포 담당자, 앱 관리자, 기획자만의 관심사항이 아닌 개발자에게도 전략적인 개발도구로 필요성이 높아졌습니다. 이미 2년 반이 지난 지금 이 필요성을 언급하는 이유는 제가 개발하고 있는 앱에서도 App bundle에서 제공하는 기능의 일부를 사용해야 하는 상황이 벌어졌기 때문입니다. 이는 처음 시작하는 앱 역시 시간이 지남에 따라 다양한 배포 방식과 덩치가 커져가는 앱을 효율화시키기 위한 해결 요소로 app bundle의 필요성이 점점 더 대두될 수밖에 없다는 점을 시사합니다. 이미 적용된 앱들도 많지만 한발늦게 적용함에 따라 앱 경쟁력은 이미 .. 개발이야기/Android 4년 전