【问题标题】:app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project应用程序声明了从配置“编译”到配置“默认”的依赖关系,该依赖关系未在项目的描述符中声明
【发布时间】:2017-08-13 06:43:17
【问题描述】:

我在我的项目中导入了一个名为“wear”的库模块,在构建时,我得到了这个:

Error : A problem occurred configuring project ':app'.   
Could not resolve all dependencies for configuration ':app:_debugApk'.   
Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :wear.

这是什么意思?我怎样才能摆脱它?

【问题讨论】:

  • 你能解决这个问题吗?我在通过 Android Studio 为 React Native 构建时遇到了同样的问题。
  • 您是否使用复合构建?当我使用--include-build 构建时出现此错误,但没有它我还有另一个错误:Could not find libmylib.aar (com.package:libmylib:1.0-BETA-SNAPSHOT). Searched in the following locations:,即使它搜索的“位置”是正确的链接。就我而言,我在 gradle 3.4.1 中遇到了这些错误,但在 gradle 2.14.1 中没有(即后者工作正常)。
  • @rarahat02,您找到解决此问题的方法了吗?我也面临同样的问题。如果是这样,请提出解决问题的可能方法。
  • 还没有@SenthilMg
  • 此问题的原因之一是重命名模块的目录名称。所以不要更改模块的文件夹

标签: android android-studio android-gradle-plugin


【解决方案1】:

此错误通常发生在 Gradle 找不到特定组件时。我在尝试使用 Salesforce React Native Android 示例时遇到了这种情况。

您收到的错误消息看起来像您发布的...在我的情况下是

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

我在项目 android 目录中找到了我的 Gradle 设置文件(称为 settings.gradle)。开头是这样的

rootProject.name = 'SmartSyncExplorerReactNative'

def libsRootDir = new File( settingsDir, '../node_modules/SalesforceMobileSDK-Android/libs' )
include ':app'

include ':libs:SalesforceReact'
project( ':libs:SalesforceReact' ).projectDir = new File( libsRootDir, 'SalesforceReact' )

在这种情况下,libsRootDir 中给出的路径不存在(因为这些库实际上来自我克隆的不同存储库,然后将路径指向!)。

一旦我更正了路径,保存设置文件并重新运行,一切顺利。

我希望这会有所帮助, 乔纳森。

【讨论】:

  • 这只是发生在我身上,感谢您的回答,我发现我在路径中指向的 npm 模块没有安装!谢谢!
【解决方案2】:

我在更新 android studio 3.0 时遇到了同样的问题,以下解决方案对我有用

implementation project(path: ':yourModule', configuration: 'default')

如果您使用Gradle 4.1 及更高版本和Gradle Plugin Version 3.0.0 及更高版本,此解决方案将有效。

我希望这对你有用

【讨论】:

【解决方案3】:

我也发现了这个错误。所以,我注意到我的 settings.gradle 正在寻找一条不存在的路径。示例:(settings.gradle)

project(':YourProjectV1').projectDir = new File('../YourProjectFolderV1/app/');

但是,在我的文件系统中,路径是:../YourProjectFolderv1

名字同步后,项目就ok了!

希望对你有帮助。

【讨论】:

    【解决方案4】:

    我在一组不同的模块中遇到了类似的问题。我终于能够通过 npm 重新安装必要的模块但使用 --save 标志来解决它。即npm install --save module-name

    看起来如果你在模块文件夹中只有.iml文件,Android工作室解决它是不够的。

    祝你好运。

    【讨论】:

      【解决方案5】:

      实际上项目本身位于目标项目根文件夹中:

      ...
       |-wear
            |-app
      

      因此,为了正确包含它,您必须定义指向该内部文件夹的路径:

      'setting.gradle':

      include ':app', 'MyLibraryProject'
      project(':MyLibraryProject').projectDir = new File("X:\\SOME_PATH\\wear\\app")
      

      'app\build.gradle' (主项目)

      dependencies {
      ...
      compile project(':MyLibraryProject')
      ...
      }
      

      【讨论】:

        【解决方案6】:

        我也遇到了这个错误,原来是库路径改变了。我正在使用react-native-maps 版本1.4

        settings.gradle中将react-native-maps依赖路径改为

        ... include ':react-native-maps' project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/android')

        在我看来安装手册没有更新

        【讨论】:

          【解决方案7】:

          我最近遇到这样一个问题,我在window10编译的时候没问题,但是我在linux下编译出了问题,我觉得这个原因跟平台有关,我查了一下发现我的项目名是跟case命名的,然后我统一命名小写字母,然后build,发现成功了。 ^_^。

          【讨论】:

            【解决方案8】:

            对我来说,我只是修改 settings.gradle 中的行: project(':test').projectDir = new File(rootProject.projectDir, '~/android-test') 到 project(':test').projectDir = new File(rootProject.projectDir, '/Users/Michael/android-test') 这意味着避免在 settings.gradle 中使用“~”。

            【讨论】:

              【解决方案9】:

              我实际上只需要添加子模块,所以我在终端中运行了以下 git 命令:

              git submodule init git submodule update 然后重建!

              【讨论】:

                【解决方案10】:

                首先:rm -rf 节点模块

                然后:npm i

                然后:构建 -> 清理

                然后:关闭 Android Studio 并重新打开。这次你应该在需要安装 react-native-maps 的底部区域进行推广。点击链接并安装它

                【讨论】:

                  【解决方案11】:

                  这种情况是你没有安装插件。请你安装插件。如“npm install -s wear”

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2018-04-28
                    • 2016-06-12
                    • 2015-07-08
                    • 2022-01-20
                    • 2019-08-15
                    • 2013-05-25
                    • 2011-05-12
                    • 2011-03-27
                    相关资源
                    最近更新 更多