我想修改 ExoPlayer 的代码,为此我必须将它添加为一个模块。
我添加了一个文件夹 'libraries'
并将 ExoPlayer 文件夹放入其中。
然后我在项目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'
感谢您以后的帮助。
最佳答案
ExoPlayer
是一个自己的多项目构建,在其 settings.gradle
文件中定义。您不能简单地将此多项目构建导入您自己的多项目构建,因为多项目构建在 Gradle 中不是分层的。每个构建过程最多有一个 settings.gradle
文件。哪个取决于你在哪里执行gradle。
最简单的方法是,如果您只依赖于 ExoPlayer
发布的 Artifact 。
如果您需要全新构建,因为您需要尚未发布的更改,您仍然应该声明对预构建 Artifact 的依赖,然后使用 Gradle 复合构建功能将 Artifact 替换为子构建被执行。这反过来可以毫无问题地成为自己的多项目构建。
请在 Gradle 用户指南中找到更多相关信息。
关于android - 错误 :Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44673252/