This project demonstrates the implementation of Dynamic Feature Modules (DFMs) in Android for on-demand feature delivery. Dynamic Feature Modules allow you to modularize your Android app, delivering features to users only when they are needed. This reduces the initial install size, optimizes storage, and provides a more tailored user experience.
Modularization: Break down your app into smaller, independent modules.
On-Demand Delivery: Deliver features only when they are required, reducing the initial install size.
Conditional Delivery: Conditionally deliver modules based on factors such as device features, user preferences, or interactions.
Logical Separation: Encourage logical separation of features for a more maintainable codebase.
Reduced APK Size: Optimize app storage by allowing users to download only the modules they need.
- Android Studio (latest version recommended)
- Android device or emulator with API level 21 or higher
- Clone the repository:
git clone https://github.com/hasancse91/dynamic-feature-module-android.git
-
Open the project in Android Studio.
-
Build and run the app on your device or emulator.
Explore the Main App Module: The main app module includes the core functionalities of the app.
Open the features directory to find individual dynamic feature modules. Each module represents a specific feature or functionality.
Interact with the app to trigger the on-demand delivery of specific modules. Modules are delivered and installed as needed.