android - 错误 :Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project

标签 android gradle android-gradle-plugin 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'

感谢您以后的帮助。

最佳答案

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/

相关文章:

android - 没有操作栏的android compat的黑暗 Activity ?

android - 没有这样的属性 : ABI for class: org. gradle.api.tasks.OutputFile

java - Gradle无法在Java项目中复制PNG文件

android - Gradle 同步失败 : unable to find valid certification path to requested target

java - 从 Firebase 检索一些数据并将其放在 RecyclerView 上

java - Android Studio : Unable to resolve Symbol 'requestLocationUpdates'

java - 如何确定android中的触摸持续时间

android - 在gradle中,如何(递归地)将目录设置为任务的输出? (要检查并散列以进行最新检查)

Android gradle-experimental 0.2.0 添加res和aidl

Android gradle 3.0.0 - ZLIB 输入流的意外结束