【问题标题】:Configuration with name 'default' not found. Android Studio未找到名称为“默认”的配置。安卓工作室
【发布时间】:2014-04-28 03:32:44
【问题描述】:

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

未找到名称为“默认”的配置。

我的结构是:

-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、设置等。

怎么了?

【问题讨论】:

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


【解决方案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 /android')

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

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

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

【讨论】:

    【解决方案2】:

    您最好在控制台中运行该命令以更好地了解设置有什么问题。就我而言,当我运行 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.
    

    令人讨厌的是,在导入失败期间它不会显示任何有意义的错误消息。如果我注释掉所有项目引用,确保它允许我导入它,但是一旦我取消注释它,它只会打印那个模棱两可的消息,而不会告诉你哪里出了问题。

    【讨论】:

      【解决方案3】:

      只是关于这个问题的注释:

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

      【讨论】:

      • 这也解决了我的问题。问题是我的 package.json 中列出了未安装的依赖项。
      【解决方案4】:

      消息是已知的Gradle bug。您的错误的原因是您的某些gradle.build 文件中没有apply plugin: 'java'。而且由于Gradle没有说你的bug,问题出在哪里。

      但是您可以轻松克服它。只需将apply plugin: 'java' 放入您的每个“gradle.build”

      【讨论】:

        【解决方案5】:

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

        【讨论】:

        • 我遇到了同样的问题。我删除了一个 NPM 包并收到此错误。我删除了settings.gradle、build.gradle 和src/main/java/[your appname]/MainApplication.java 中的引用。要清理你可以使用cd android && ./gradlew clean
        【解决方案6】:
        compile fileTree(dir: 'libraries', include: ['Android-Bootstrap'])
        

        在您的应用程序的 gradle 文件中使用上述行而不是

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

        【讨论】:

        • 必须在父项目转换为库项目时为子项目执行此操作。
        【解决方案7】:

        我在 Jenkins 上遇到过这个问题。原因:我将模块module 重命名为Module。我发现 git 不知何故弄糊涂了,同时保留了 module 和 Module 目录,内容分布在两个文件夹之间。 build.gradle 保留在 module 中,但模块名称为 Module,因此无法找到默认配置。

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

        【讨论】:

          【解决方案8】:

          步骤 1 $ git submodule update

          第 2 步 To be commented out the dependences of classpass

          【讨论】:

          • 什么?这与问题无关。
          【解决方案9】:

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

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

          在我的 mswindows 构建系统上一切正常

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

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

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

          在 MSWindows 情况下无关紧要,但在 linux 系统上却可以

          【讨论】:

            【解决方案10】:

            您的模块名称必须是驼峰式,例如。 pdf库。我遇到了同样的问题,因为我的模块名称是“PdfLib”,并且在将其重命名为“pdfLib”之后。有效。 问题不在我的设备上,而是在詹金斯服务器上。所以,检查一下你是否有这样的模块名

            【讨论】:

              【解决方案11】:

              我遇到了同样的问题,我通过生成 gradle 项目然后将 lib 项目添加到 android studio 来解决它

              首先,查看 build.gradle 文件是否存在于项目根目录中

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

              1. 然后从 eclipse 中导出你需要的 lib 项目(File->Export->Android->generate Gradle build file
              2. 点击下一步->下一步->从项目列表中选择你的lib项目->下一步->下一步->完成
              3. 查看项目根目录中的 build.gradle 文件
              4. 将此项目移至 Android Studio

              【讨论】:

                【解决方案12】:

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

                【讨论】:

                • 为我工作:),我将 volley 作为一个模块添加,但没有将它包含在 git 中,所以当我再次克隆项目时,它给了我这个错误,因为 volley 文件夹不存在,非常感谢
                【解决方案13】:

                一方面,拥有多个 settings.gradle 文件并不好——它只查看顶级文件。

                当您收到“未找到名称为 'default' 的配置”错误时,这确实令人困惑,但这意味着 Gradle 正在某处寻找模块(或 build.gradle)文件,但没有找到.在您的情况下,您的 settings.gradle 文件中有这个:

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

                这使得 Gradle 在 FTPBackup/libraries/Android-Bootstrap 中寻找库。如果您使用的是区分大小写的文件系统(当您的意思是 libraries 时,您没有在问题中输入错误的 Libraries),它可能找不到 FTPBackup/库/Android-Bootstrap 因为大小写不同。它还在 FTPBackup/Android-Bootstrap 上寻找另一个库,但肯定找不到,因为那个目录不存在。

                这应该可行:

                include ':Libraries:Android-Bootstrap'
                

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

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

                【讨论】:

                • 好的,现在可以工作了,但是因为其他原因。 Androi-Bootstrap 还有另外两个项目。我将我需要的项目复制到 /libraries 并且现在可以工作了。您对重复 settings.gradle 的评论指导我。谢谢
                • 对于读者 - 问题也可能来自 GIT 和不区分大小写的文件系统(就像在大多数 Mac 上一样)。如果您仅通过更改大小写而不更改其他任何内容来重命名文件夹 - 当您提交它时,地狱就会崩溃。更改不会传播给您的同事或构建服务器。 stackoverflow.com/questions/17683458/…
                • 其他可能原因:导入模块时,具体选择了根项目的“settings.gradle”,而不是根项目文件夹。在我的例子中,Android Studio 很困惑,因为它找到了多个 settings.gradle 文件(作为子模块的结果)。选择 settings.gradle 作为导入目标后,一切正常。
                猜你喜欢
                • 2018-05-13
                • 1970-01-01
                • 2013-06-15
                • 1970-01-01
                • 2016-10-17
                • 1970-01-01
                • 2014-04-15
                • 2017-05-24
                • 2015-03-31
                相关资源
                最近更新 更多