返回 Skill 列表
extension
分类: 开发与工程无需 API Key

android-dfm

使用Gradle、Koin DI和导航注册创建Android动态特性模块。用于新功能、模块化和特性标志。

person作者: jakexiaohubgithub

Android Dynamic Feature Module Creator

Create new dynamic feature modules for Android projects using Play Feature Delivery.

When to Use

  • Adding new feature modules to modularized Android apps
  • Creating install-time, on-demand, or conditional delivery features
  • Setting up feature-specific Koin DI modules
  • Implementing feature navigation registration

Quick Reference

Module structure:

feature/{name}/
├── build.gradle.kts           # Plugin: android.dynamic.feature
├── src/main/
│   ├── AndroidManifest.xml    # dist:module delivery config
│   ├── kotlin/.../{name}/
│   │   ├── di/{Name}FeatureModule.kt
│   │   ├── navigation/{Name}NavigationProvider.kt
│   │   └── screen/{Name}Route.kt
│   └── res/values/strings.xml # title_{name} required

Creation Steps

  1. Read structure template: references/dfm-structure.md
  2. Create module files: Build script, manifest, DI, navigation
  3. Register in app: Update app/build.gradle.kts dynamicFeatures
  4. Register in settings: Add include(":feature:{name}")
  5. Register DI: Add to FeatureRegistry.KNOWN_FEATURE_INITIALIZERS
  6. Register Nav: Add to FeatureNavigationRegistry.KNOWN_NAVIGATION_PROVIDERS
  7. Add route: Create {Name}RouteData in core/navigation/Routes.kt

Key Patterns

  • DI: {Name}FeatureInitializer : FeatureModuleInitializer interface
  • Nav: {Name}NavigationProvider : FeatureNavigationProvider interface
  • Build: implementation(project(":app")) required in feature modules
  • Manifest: Use <dist:install-time /> for install-time delivery

References