Gradle错误debugCompileClasspath'应该只包含一个文件,但是当添加新的动态特性模块时,它不包含任何文件。

10

创建了一个名为dynamic的新动态特性模块,构建失败并出现以下异常:

执行任务“:dynamic:processDebugManifest”失败。

预期配置“:dynamic:debugCompileClasspath”包含一个文件,但实际上没有找到任何文件。

尝试在应用程序gradle中添加baseFeature true,并出现以下错误:

无法在类型为com.android.build.gradle.internal.dsl.BaseAppModuleExtension的对象上找到baseFeature()方法。

请检查该方法是否存在或是否正确拼写其名称。


你成功解决了这个问题吗? - Fran Marzoa
你尝试过将你的项目结构与谷歌示例进行比较吗?https://github.com/googlesamples/android-dynamic-features - TWL
1
我有相同的问题。与谷歌示例不同,我使用了不同的设置。我有多个版本,并使用一个名为 com.android.feature 的基础特性模块。 - lilienberg
1
我解决了这个问题,你需要在你的动态特性模块中也拥有基础模块的所有版本。 - Gauri Gadkari
太棒了,请将此作为答案发布。 - Deividas Strioga
2个回答

6
我解决了这个问题,你需要在动态特性模块中也拥有基本模块的所有变体。

1
你好,能否请您详细说明一下这个答案,因为我也遇到了同样的问题。 - Rudraksh Shukla
1
你的应用 gradle 可能会有 productFlavors,复制它们到你的动态特性模块 gradle 中。在动态特性模块的 gradle 中,这些 flavors 可能为空。 例如: productFlavors { google { } beta { } } - Gauri Gadkari

-2

我遇到了相同的错误信息,但问题出在我在功能模块中使用的公共KTS脚本上:

这是错误的:

private fun Project.configureDependencies() {
    dependencies.project(":app")
}

这是正确的:

private fun Project.configureDependencies() = dependencies{
    add("implementation", project(":app"))
}

希望这能帮助一些可怜的灵魂


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接