[android] App Bundle의 동적 모듈화 기능

안녕하세요! 오늘은 안드로이드 앱 번들에서 동적 모듈화 기능에 대해 알아보겠습니다.

목차

동적 모듈화란 무엇인가요?

동적 모듈화는 앱이 실행 중에 추가 모듈을 동적으로 로드하여 기능을 확장하는 것을 말합니다. 이를 통해 기본 앱 사이즈를 줄이고 사용자가 필요한 기능만 런타임에서 다운로드하여 설치할 수 있게 됩니다.

App Bundle에서의 동적 모듈화 구현 방법

App Bundle은 Google Play에서 앱 번들을 동적으로 조립하여 각 기기에 최적화된 APK를 제공합니다. 이러한 기능을 통해 동적 모듈을 구현할 수 있습니다.

앱 번들을 빌드할 때, 동적 모듈을 추가하여 필요한 경우에만 다운로드되도록 구성할 수 있습니다. 따라서 사용자는 앱을 다운로드하거나 업데이트할 때 추가 모듈을 함께 받을 필요가 없습니다.

<manifest ... >
    <dist:module
        dist:onDemand="true"
        dist:title="@string/title_feature1">
        <dist:fusing dist:include="true" />
        ...
    </dist:module>
</manifest>

동적 모듈 로딩 및 사용

동적 모듈은 필요할 때만 로드될 수 있으며, 로드된 모듈은 해당 앱의 클래스 로더를 통해 사용됩니다. 동적 모듈을 사용하려면 명시적으로 로드하여 모듈에 접근해야 합니다.

SplitCompat.install(context);
SplitCompat.load(activity);

결론

App Bundle을 이용한 동적 모듈화는 앱의 기본 크기를 줄이고 필요한 기능을 필요한 시점에만 제공할 수 있게 합니다. 이는 사용자 경험을 향상시키고 기기 저장 공간을 절약하는 데 도움이 됩니다.

이상으로 안드로이드 앱 번들에서의 동적 모듈화에 대해 알아보았습니다. 추가 궁금한 점이 있으시면 언제든지 질문해주세요!