配置名称'默认'未找到。 Android Studio

时间:2014-03-20 23:33:54

标签: android gradle android-studio android-gradle

我有一个Android Studio应用。它有一个库依赖项(Android-Bootstrap),当我尝试同步gradle时,它给了我一个错误:

  

找不到名称“default”的配置。

我的结构是:

-FTPBackup
   -fotobackup
     -build.gradle
   -Libraries
     -Android-Bootstrap
       -Settings.gradle
       -build.gradle
-Settings.gradle
-Build.gradle

FTPBackup settings.gradle和build.gradle:

include ':fotobackup'
include ':libraries:Android-Bootstrap',':Android-Bootstrap'

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

并且fotobackup中的build.gradle是:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.3'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:+'
    compile project (':libraries:Android-Bootstrap')
}

该库是从https://github.com/Bearded-Hen/Android-Bootstrap下载的,它有build.gradle,设置等。

怎么了?

13 个答案:

答案 0 :(得分:73)

首先,拥有多个 settings.gradle 文件并不好 - 它只查看顶级文件。

当你得到“配置名称'默认'未找到”错误时,它确实令人困惑,但这意味着Gradle正在寻找某个地方的模块(或build.gradle)文件,并且它没有找到它。在您的情况下,您可以在 settings.gradle 文件中找到它:

include ':libraries:Android-Bootstrap',':Android-Bootstrap'

这使得Gradle在 FTPBackup / libraries / Android-Bootstrap 中寻找一个库。如果您使用区分大小写的文件系统(并且在您的意思时没有错误地输入),则可能找不到 FTPBackup / Libraries / Android-Bootstrap ,因为案例不同。它还在 FTPBackup / Android-Bootstrap 寻找另一个图书馆,它肯定不会找到一个,因为那个目录不存在。

这应该有效:

include ':Libraries:Android-Bootstrap'

您的dependencies块中需要使用相同的区分大小写的规范:

compile project (':Libraries:Android-Bootstrap')

答案 1 :(得分:25)

compile fileTree(dir: 'libraries', include: ['Android-Bootstrap'])

在应用的gradle文件中使用上面的行而不是

compile project (':libraries:Android-Bootstrap')

答案 2 :(得分:17)

在我的setting.gradle中,我包含了一个不存在的模块。一旦我删除它,它就开始工作了。这可能是解决此问题的另一种方法

答案 3 :(得分:8)

如果您使用react native获取此错误,则可能是由于您删除的NPM包的链接(就像我的情况一样)。在settings.gradle和build.gradle文件中删除对它的引用之后,我清理并重建了它,它和新的一样好。)

答案 4 :(得分:3)

关于这个问题的说明:

在尝试构建到android时,我的React Native应用程序中出现了这个确切的错误。您应该做的只是$ npm i

答案 5 :(得分:2)

案件重要 我手动添加了一个子模块:k3b-geohelper  到了 settings.gradle档案

 include ':app', ':k3b-geohelper'

并且我的mswindows构建系统上的everthing工作正常

当我将更新推送到github时,fdroid build system失败并带有

  Cannot evaluate module k3b-geohelper : Configuration with name 'default' not found

最终解决方案是子模块文件夹的名称为k3b-geoHelper而不是k3b-geohelper

在MSWindows案例中并不重要,但在Linux系统上它确实

答案 6 :(得分:1)

我和詹金斯有过这个问题。原因:我已将模块Array{Array{Float64,2},1}重命名为module。我发现git以某种方式混淆了并保留了Modulemodule目录,内容在两个文件夹之间传播。 Module保留在build.gradle中,但模块名称为module,因此无法找到默认配置。

我通过备份Module的内容来修复它,从repo手动删除Module文件夹并恢复+推送丢失的文件。

答案 7 :(得分:1)

我也遇到了同样的问题,问题是以下某些文件中缺少库。

settings.gradle,app / build.gradle,package.json,MainApplication.java

假设库是react-native-vector-icons,那么它应该在以下文件中提及;

在依赖项部分下的app / build.gradle文件中添加:

编译项目(':react-native-vector-icons')

在android文件夹下的settings.gradle文件中,添加以下内容:

包括':react-native-vector-icons'项目(':react-native-vector-icons')。projectDir = new File(rootProject.projectDir,'.. / node_modules/react-native-vector-icons /机器人')

在MainApplication.java中,添加以下内容:

导入依赖项:import com.oblador.vectoricons.VectorIconsPackage;

然后在getPackages()方法中添加:new VectorIconsPackage()。

答案 8 :(得分:0)

我面临同样的问题,我通过生成gradle项目然后将lib项目添加到android studio来修复它

首先,请参阅项目根目录中的build.gradle文件

如果没有,请创建gradle项目,

  1. 从eclipse导出所需的lib项目然后(File-> Export-> Android->生成Gradle构建文件
  2. 点击Next-> Next->从项目列表中选择您的lib项目 - > Next-> Next-> Finish
  3. 请参阅项目根目录中的build.gradle文件
  4. 将此项目移至Android Studio

答案 9 :(得分:0)

您的模块名称必须是camelCase,例如。 PDFLIB。我有同样的问题因为我的模块名称是' PdfLib'并将其重命名为' pdfLib'。有效。 问题不在我的设备中,而是在jenkins服务器中。所以,检查一下你是否有这样的模块名

答案 10 :(得分:0)

STEP.1 $ git submodule update

Step.2 To be commented out the dependences of classpass

答案 11 :(得分:0)

消息是已知的Gradle bug。您出错的原因是您的部分Public Sub main() On Error Resume Next Dim ctl As Control Dim ppt As Property For Each ctl In Form_frmDadosGerais.Controls i_hType = "" i_name = "" i_cSource = "" 'Debug.Print ctl.name & " " & ctl.Properties.Count i_name = ctl.name For Each ppt In ctl.Properties If ppt.name = "Caption" Or ppt.name = "Visible" Then 'REM Debug.Print " " & ppt.Name & ":" & ppt.Value ElseIf ppt.name = "Width" Or ppt.name = "Height" Or ppt.name = "Top" Or ppt.name = "Left" Then 'REM Debug.Print " " & ppt.Name & ":" & getPixelsFrom(ppt.Value) ElseIf ppt.name = "ControlType" Then 'REM Debug.Print " " & ppt.Name & ":" & getCotrolType(ppt.Value) i_hType = getCotrolType(ppt.Value) ElseIf ppt.name = "ControlSource" Then i_cSource = ppt.Value ElseIf ppt.name = "Name" Or ppt.name = "ControlType" Or ppt.name = "ControlSource" Or ppt.name = "Format" Or ppt.name = "DecimalPlaces" Or ppt.name = "TextFormat" Then 'REM Debug.Print " " & ppt.Name & ":" & ppt.Value Else 'REM Debug.Print ppt.Name End If Next ppt If i_hType = "text" Then Debug.Print getControlAsMaterialHtml(i_hType, i_name, i_cSource, "Tool Tip Text") End If Next ctl End Sub Public Function getCotrolType(ByRef ControlType As Variant) As String If ControlType = 109 Then getCotrolType = "text" ElseIf ControlType = 100 Then getCotrolType = "label" Else getCotrolType = "unknow (" & ControlType & ")" End If End Function Public Function getPixelsFrom(ByVal v As Variant) As String getPixelsFrom = Round(v / 2.54) & "px" End Function Public Function getControlAsMaterialHtml(hType As Variant, name As Variant, controlSource As Variant, ttip As Variant) As String h = "<div class=""form-group form-md-line-input"">" & Chr(10) h = h & " <input type=""" & hType & """ class=""form-control"" name=""" & name & """ id=""" & name & """ [(ngModel)]=""model." & controlSource & """ placeholder=""Enter your email"">" & Chr(10) h = h & " <label for=""" & name & """>" & name & "</label>" & Chr(10) h = h & " <span class=""help-block"">" & ttip & "</span>" & Chr(10) h = h & "</div>" & Chr(10) & Chr(10) getControlAsMaterialHtml = h End Function 个文件中没有gradle.build。由于Gradle没有说你的错误,问题出在哪里。

但你可以轻松克服它。只需将apply plugin: 'java'放在每个'gradle.build'

答案 12 :(得分:0)

最好在控制台中运行该命令,以便更好地了解设置的错误。就我而言,当我运行gradlew check时,它实际上告诉我哪个参考项目丢失了。

* What went wrong:
Could not determine the dependencies of task ':test'.
Could not resolve all task dependencies for configuration ':testRuntimeClasspath'.
Could not resolve project :lib-blah.
 Required by:
     project :
  > Unable to find a matching configuration of project :lib-blah: None of the consumable configurations have attributes.

令人讨厌的是,它在导入失败期间不会显示任何有意义的错误消息。如果我注释掉所有项目引用,确定它让我导入它,但是一旦我取消注释它,它只会打印出那个含糊不清的消息而不会告诉你什么是错误的。