奇怪的Gradle错误:期望配置(...)包含一个文件,但是它并未包含任何文件。

20

我想开发一个简单的即时应用程序。我已经完成了所有模块和配置,但是当我尝试运行即时启动时,gradle控制台显示以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':blogspace-instant:packageDebugInstantAppBundle'.
> Expected configuration ':blogspace-instant:debugCompileClasspath' to contain exactly one file, however, it contains no files.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

有人知道如何解决这个问题吗?


1
你能否提交一个 bug 并在这里链接它?他们可能需要你提供一个可重现的项目。这对所有人都有帮助,谢谢!https://issuetracker.google.com/issues/new?component=316045&template=1018787 - TWL
你可能想要测试一下其他版本的Gradle插件,因为插件之间可能存在不兼容问题。你可以查看这个GitHub问题,通过检查其他版本的插件来解决相同的问题。希望能对你有所帮助。 - Mr.Rebot
同样遇到了这个问题,目前还没有解决方案。但是在进行 O 迁移之前,我们的 IA 构建是正常的。如果我找到解决方法,我会回来更新这里的。 - HaMMeReD
1
你解决了吗? - Fran Marzoa
这解决了我的问题:文件->无效缓存/重启 - Bhriguraj Salponia
5个回答

12

确保在基础功能的defaultConfig中设置了"baseFeature true"。

如果您没有基础功能,而只有一个功能,请在该功能中设置baseFeature true。

在旧版本中,没有名称的功能是基础功能,但现在需要明确标记一个功能为基础功能。


已经将baseFeature设置为true,但仍然遇到相同的问题。 https://dev59.com/V6vka4cB1Zd3GeqPs2kW - Devganiya Hitesh

12

如果你发现问题来自于一个动态特性模块,请确保该模块依赖于“base”模块或者你应用的其他模块:

apply plugin: 'com.android.application'

因为它将负责构建Android应用程序。

当动态功能出现时,项目构建方式发生了变化。在此之前,application模块包括所有库模块,但现在动态功能模块需要包含application模块,如@ezio所述:

https://dev59.com/_VcO5IYBdhLWcg3waw6o#53916249


2
这是文档中非常重要的一部分。很遗憾谷歌不能将这个细节添加到他们的文档中。 - Coder Roadie

2
除了接受答案中提到的内容外,我还需要做一件事才能使它正常工作。您必须确保所有功能模块都应该依赖于基础模块。
将此放入所有功能模块的 gradle 文件中。
implementation project(':base')

0

确保您已经将功能依赖项添加到InstantApp模块中。

这个解决方案对我有用。


0

我不知道为什么,但使用 dynamicFeatures 解决了我的上述问题。

错误

Expected configuration ':features:auth:debugCompileClasspath' to contain exactly one file, however, it contains no files.

问题

implementation project(path: ':base-app', configuration: 'default')

修复

implementation project(":base-app")

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