首页 > 解决方案 > Android 动态功能模块作为子模块

问题描述

我正在使用这种新的模块类型,我想知道是否可以在目录中使用它。因此,我以“ui”目录中的“home”模块为例,得到了这个错误:

ERROR: Unable to find matching projects for Dynamic Features: [:ui:home]. Affected Modules: app

但是gradle对于其他模块是子模块没有问题,所以我猜这个问题可能是特定于动态特性的

这是“app”模块的gradle:

.
.
.
android {
    compileSdkVersion AppMetaData.compileSdkVersion
    defaultConfig {
        applicationId AppMetaData.id
        minSdkVersion AppMetaData.minSdkVersion
        targetSdkVersion AppMetaData.targetSdkVersion
        versionCode AppMetaData.versionCode
        versionName AppMetaData.versionName
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        buildConfigField "boolean", "DEBUG_LOGS", "true"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    dynamicFeatures = [Modules.home]
}
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation project(Modules.common)
    implementation project(Modules.domain)
    implementation project(Modules.navigation)
    implementation project(Modules.network)
    implementation project(Modules.persistence)
    .
    .
    .
}
object Modules {
    const val app = ":app"
    const val common = ":common"
    const val domain = ":core:domain"
    const val navigation = ":ui:navigation"
    const val network = ":core:network"
    const val persistence = ":core:persistence"

    // Dynamics
    const val home = ":ui:home"
}

标签: androidgradlekotlindynamic-feature

解决方案


推荐阅读