All other split APKs can access this. • Configuration APKs ◦ Includes native libraries and resources for a specific screen etc.. ◦ Automatically generate by Google Play. • Dynamic feature APKs ◦ Modularized feature.
All other split APKs can access this. • Configuration APKs ◦ Includes native libraries and resources for a specific screen etc.. ◦ Automatically generate by Google Play • Dynamic feature APKs ← Dynamic Feature Modules ◦ Modularized feature.
each module. (e.g. Fewer merge conflicts to other teams.) • Improve build times⏱ ◦ Gradle are able to build multiple modules in parallel and reduce build times. • Customize feature delivery ◦ Can use Dynamic Delivery such as at install, on demand, conditional and instant delivery. https://developer.android.com/guide/app-bundle/dynamic-delivery
not reference to DFMs directly. • Difficult to migrate from Android Library Module ◦ Require to reverse module dependency direction if needed. • Limited reference ◦ A DFM can not reference to another DFMs. ◦ Resolved in Android Gradle plugin 4.0.0. ▪ https://developer.android.com/studio/preview/features#feature-on-feature https://developer.android.com/guide/app-bundle/dynamic-delivery
◦ User-facing module title • dist:delivery ◦ Select delivery option (at-install or on-demand) • dist:fusing ◦ Include this module if Android 4.4 and lower.
internet. • Immediate ◦ Install immediately. • Deferred ◦ Add install request to a queue. ◦ Will be executed in up to a maximum of 24 hours. Send request Download Check https://developer.android.com/guide/app-bundle/on-demand-delivery
requirements. (Can also be installed on-demand) • Available requirements ◦ Device hardware and software features (Constants of PackageManager.FEATURE_*) ◦ User country ◦ API level https://developer.android.com/guide/app-bundle/conditional-delivery
Delivery. • Dynamic Delivery is app serving model. • Dynamic Delivery has 4 delivery option. ◦ At-install, on-demand, conditional and instant. • DFM will improve build times⏱. • Main module can not reference DFMs directly. ◦ E.g. pass class name as string.