错误:项目:应用程序从配置声明依赖项'编译'配置'默认'未在项目描述符中声明

时间:2017-06-21 10:15:08

标签: android gradle android-gradle exoplayer

我想修改ExoPlayer的代码,为此我必须将其添加为模块。 我添加了一个文件夹'libraries'并将ExoPlayer文件夹放入其中。 enter image description here

然后我在项目settings.gradle中添加了include :libraries:ExoPlayer。最后在项目结构设置中,我添加了:libraries:ExoPlayer作为我的项目的依赖项,但在此之后,我不断收到此错误:

Error:Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :libraries:ExoPlayer.

这是我的应用的settings.gradle内容。

include ':app'
include ':libraries:ExoPlayer'

感谢您将来的帮助。

1 个答案:

答案 0 :(得分:1)

ExoPlayer是一个自己的多项目构建,在其settings.gradle文件中定义。您不能简单地将此多项目构建导入到您自己的多项目构建中,因为多项目构建在Gradle中不是分层的。每个构建过程最多只考虑一个 settings.gradle文件。哪一个取决于你执行gradle的位置。

最简单的方法是,如果您只是依赖于ExoPlayer已发布的工件。

如果您需要全新构建,因为您需要尚未发布的更改,您仍应声明对预构建工件的依赖关系,然后使用Gradle组合构建功能通过子构建替换工件被执行。这反过来可以是一个没有问题的自己的多项目构建。

请在Gradle用户指南中找到有关它的更多信息。