app声明了配置的依赖关系' compile'配置'默认'未在项目描述符中声明

时间:2017-03-21 14:24:07

标签: android android-studio android-gradle

我正在导入名为&#34的图书馆模块;穿"在我的项目和建设过程中,我得到了这个:

  
    

错误:配置项目':app'发生了问题     无法解析配置的所有依赖项':app:_debugApk'。
    项目:app从配置声明依赖项'编译'配置'默认'未在项目描述符中声明:穿。

  

这是什么意思?我怎么能摆脱这个?

12 个答案:

答案 0 :(得分:37)

当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.

我在项目settings.gradle目录中找到了我的Gradle设置文件(名为android)。它的开头看起来像这样

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中给出的路径不存在(因为这些库实际上来自我克隆的不同存储库,然后指向此路径!)。

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

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

答案 1 :(得分:12)

当我更新android studio 3.0并且以下解决方案适合我时,我遇到了同样的问题

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

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

我希望这对你有用

答案 2 :(得分:5)

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

看起来如果你在模块文件夹中只有.iml文件,那么android studio就不足以解决它了。

祝你好运。

答案 3 :(得分:3)

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

项目(':YourProjectV1')。projectDir =新文件(' ../ YourProjectFolderV1 / app /');

但是,在我的文件系统中,路径为:../ YourProjectFolder v 1

同步名称后,项目还可以!

我希望有所帮助。

答案 4 :(得分:2)

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

...
 |-wear
      |-app

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

'setting.gradle':

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

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

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

答案 5 :(得分:0)

我也遇到了这个错误,结果发现库路径发生了变化。我正在使用.parent { position: relative; width: 300px; overflow: hidden; display: flex; flex-direction: column; height: 600px; /* Not relevant. this was used to show a Guide-point of intersection of one of triangle's side. &:before { content: ''; width: 2px; height: 2px; background: #000; position: absolute; left: calc(50% - 1px); top: -1px; display: block; } &:after { content: ''; width: 2px; height: 2px; background: #000; position: absolute; left: calc(50% - 1px); bottom: -1px; display: block; } */ } .child { min-height: 20px; padding: 15px; transform: skewY(-30deg); transition: all 0.2s ease; display: flex; align-content: center; align-items: center; &:hover { height: calc(100% - 40px); } &:hover ~ .child { height: 20px; } &__inner { transform: skewY(30deg); color: #fff; } &--top { background: tomato; height: calc(50% - 20px); margin-top: calc((150px / 1.73)* -1); padding-top: calc((150px / 1.73) * 2); } &--middle { background: DeepSkyBlue; } &--bottom { background: MediumSeaGreen; height: calc(50% - 20px); margin-bottom: calc((150px / 1.73)* -1); padding-bottom: calc((150px / 1.73) * 2); } } 版本react-native-maps

1.4中,将react-native-maps依赖路径更改为

settings.gradle

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

答案 6 :(得分:0)

我最近遇到过这样的问题,当时我在window10编译时没有问题,但是我在Linux中编译了一个问题,我觉得这个原因跟平台有关,我查了一下,发现我的项目名称是用名称命名的,然后我 统一命名小写字母 ,然后构建,发现成功。 ^ _ ^。

答案 7 :(得分:0)

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

答案 8 :(得分:0)

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

git submodule init git submodule update 然后重建!

答案 9 :(得分:0)

在我的情况下,我从git repo中提取了一些更新并忘记执行npm install,所以只需确保安装所有依赖项

npm install

如果您正在运行反应原生物,请忘记进行链接(如果是原生模块)

react-native link

答案 10 :(得分:-1)

首先:rm -rf节点模块

然后:npm i

然后:构建 - >清洁

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

答案 11 :(得分:-3)

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