【问题标题】:Android Studio Gradle Configuration with name 'default' not found未找到名称为“默认”的 Android Studio Gradle 配置
【发布时间】:2013-06-15 19:48:22
【问题描述】:

我在使用 Android Studio (0.1.5) 编译我的应用时遇到问题。 该应用程序使用了 2 个库,其中包括如下:

settings.gradle

include ':myapp',':library',':android-ColorPickerPreference'

build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':library')
    compile project(':android-ColorPickerPreference')

}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

编译时我收到此消息:

  Gradle: A problem occurred configuring project ':myapp'.
   > Failed to notify project evaluation listener.
   > Configuration with name 'default' not found.

您能帮我处理这条消息吗?谢谢!

【问题讨论】:

  • settings.gradle 中声明的库项目是否都在项目根目录中正确配置了 build.gradle 文件?还有 :library 和 :android-ColorPickerPreference 需要在你的目录结构中与你的 settings.gradle 文件处于同一级别的目录中?
  • 当我的一个库项目中没有 build.gradle 文件时,我就出现了这个问题。创建此文件使错误消失。
  • 在我的情况下,我的 gradle 配置文件之一丢失。它没有正确推送。
  • 如何创建 gradle.build 文件..我也面临同样的问题?

标签: android gradle android-studio


【解决方案1】:

乍一看一切都很好,但有些人在这里闲逛发现了一个可能有用的答案:https://stackoverflow.com/a/16905808/7944

即使是最初的答案作者听起来也不是很自信,但值得跟进。另外,你没有说你的目录结构,所以我假设它是无聊的默认内容,但不能确定。

【讨论】:

    【解决方案2】:

    此精确错误的另一个潜在原因:我发现此错误已通过在 build.gradle 依赖项部分中注释一些未使用的库来解决。确保这些路径等都是正确的。

    我会仔细查看 build.gradle 中的 compile project(':android-ColorPickerPreference') 条目 - 尝试在 build.gradle 中注释掉相关代码和这一行,看看是否可以编译 - 然后从在那里解决路径或库问题。

    【讨论】:

      【解决方案3】:

      我也遇到过这个错误 - 我忘了为库项目创建 build.gradle 脚本。

      【讨论】:

        【解决方案4】:

        收到此错误时,我遇到了 git 子模块问题。尝试运行gradle tasks --info 以获得更详细的问题描述。我第一次使用gradle tasks --debug,它的帮助不如--info

        【讨论】:

          【解决方案5】:

          在我的例子中,使用gradle tasks --info 编译后,日志就在那里:

          使用空构建评估项目“:libraries:VolleyLibrary” 文件。

          所以找不到库的 build.gradle 文件。 原因是文件夹结构。

          原来是

          -libraries
          --volley
          ---VolleyLibrary
          

          应该是这样的

          -libraries
          --VolleyLibrary
          

          【讨论】:

          • 你是如何评估 ':libraries:VolleyLibrary' 的?该行在您的 build.gradle 文件中是什么样的?
          • dependencies{ compile ':libraries:VolleyLibrary'} 应该是这样的,仅此而已。
          • 根据您上面的代码示例, :Libraries 应该大写。
          • 如何用“gradle tasks --info”编译?
          • ./gradlew tasks --info 这将显示所有任务的信息。我认为这将有助于找出问题所在。
          【解决方案6】:

          以下过程解决了我的问题:

          • 转到您的子项目模块/库模块设置。 (选择模块后按F4)
          • 右键单击添加> Android-Gradle
          • 将 build.gradle 添加到您的模块中。
          • 添加以下脚本

            buildscript {
            repositories {
                mavenCentral()
            }
            dependencies {
                classpath 'com.android.tools.build:gradle:0.6.+'
            }
             }
            
            
              apply plugin: 'android-library'
            
            repositories {
            mavenCentral()
            }
            
            android {
            compileSdkVersion 18
            buildToolsVersion "18.1.0"
            
            defaultConfig {
                minSdkVersion 10
                targetSdkVersion 18
            }
            
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    resources.srcDirs = ['src']
                    aidl.srcDirs = ['src']
                    renderscript.srcDirs = ['src']
                    res.srcDirs = ['res']
                    assets.srcDirs = ['assets']
                }
            
            }
               } 
            
            1. 在你的 settings.gradle 中添加include ':yourModuleName'

          【讨论】:

          • 当我选择库项目模块设置不是一个选项并且 f4 什么都不做。
          • @DanielBaughman 请澄清您的查询,但如果您仍然无法找到模块设置,您可以做 2 件事:1) 转到文件 > 导入模块并按照步骤操作,Android Studio 将自动添加 build.gradle 文件并添加依赖项。 2)手动添加build.grade文件,在里面写脚本,你的问题就解决了。
          • 感谢您的帮助。我所做的实际上是将我要导入的文件夹放入项目中 - 导入模块,然后在我的项目属性中,引用我打算作为库导入的源模块,而不是它创建的新模块文件夹。我调整了该参考并修复了它。
          【解决方案7】:

          当我手动将 google-play-services_lib 粘贴到我的项目中时,我遇到了这个问题。显然,play-services 中没有 build.gradle 文件。我了解到,解决方案是将这个依赖项放在我项目的 build.gradle 中(而不是硬拷贝 play-services 目录):

              compile 'com.google.android.gms:play-services:4.0.+'
          

          【讨论】:

            【解决方案8】:

            假设您想在项目中添加一个库(例如 MyLib),您应该按照以下步骤操作:

            1. 如果您的库类型是 Eclipse ADT,请将您的库准备为 gradle Android 库
              对于这项工作,将其导入 Android Studio 就足够了
            2. 复制您的库文件夹,在本例中为 MyLib 文件夹,并将其粘贴到您的主项目文件夹中。在主项目文件夹中创建一个新文件夹并将其命名为 Libraries 是一个很好的做法
            3. 转到 Android Studio 并打开 Settings.gradle 文件,您应该在其中将您的库包含在您的主项目中。例如include ':MyPrj', 'Libraries:MyLib'注意:此包含语句的当前目录是您的主项目文件夹。如果将项目粘贴到文件夹中,则必须提及它相对于主项目目录的地址。就我而言,我将 MyLib 粘贴到 Libraries 文件夹中。此名称不是关键字,您可以为其选择其他名称
            4. 打开你的项目结构页面(文件->项目结构...)点击模块然后点击你的主项目去依赖选项卡点击+然后选择模块依赖 还有你的库,你可以随意选择它们

            希望对你有帮助

            【讨论】:

            • 要清楚,去github项目sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library检查它的结构!有旧格式的android项目+build.gradle文件!!谢谢,@ABFORCE +1
            • 这篇文章帮助我将 OpenCV4Android 导入到 Android Studio 中,所以我保证这个方法。
            【解决方案9】:

            就我而言,我使用的是在 Windows 下工作但在 Linux 上失败的 Gradle 文件。 include ':SomeProject'compile project(':SomeProject') 区分大小写,未找到。

            【讨论】:

              【解决方案10】:

              当我手动导入我的库时,我遇到了同样的问题。我尝试使用文件 > 导入模块添加我的库,它解决了我的问题。

              【讨论】:

                【解决方案11】:

                我遇到了类似的问题,并找到了向项目添加库的非常简单的方法。

                1. 在项目的根目录中创建文件夹“libs”。
                2. 将 JAR 文件复制到该文件夹​​中。
                3. 回到 Android Studio,找到你的 JAR 文件并右键单击它,选择“添加为库...”,它只会询问你要将它添加到哪个模块,然后选择“应用程序”。李>

                现在在您的“应用程序”模块中,您可以使用该 JAR 中的类,它将能够自动定位和添加“导入”声明,并且可以正常编译。唯一的问题可能是它添加了具有绝对路径的依赖项,例如:

                compile files('/home/user/proj/theproj/libs/thelib-1.2.3.jar')
                

                在你的“app/build.gradle”中。

                希望有帮助!

                【讨论】:

                  【解决方案12】:

                  在我的情况下,当我在 build.gradle 文件中拼错库的模块名称(依赖项)时收到此错误。

                  所以记得检查模块名称是否正确。

                  build.gradle

                  dependencies {
                      compile project(':module-name-of-the-library')
                  }
                  

                  【讨论】:

                    【解决方案13】:
                    compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])
                    

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

                    compile project(':android-ColorPickerPreference')
                    

                    希望对你有帮助

                    【讨论】:

                      【解决方案14】:

                      我忘了拉出所有子模块。所以我的

                      compile project(':something')
                      

                      无法解决。

                      解决方案

                      git submodule update --init
                      

                      【讨论】:

                      • 请解释我应该在哪个文件夹上运行此命令 - 项目文件夹或子模块文件夹
                      • 这个应该被接受的答案。在大多数情况下误导性错误消息意味着您忘记克隆子模块
                      • 就我而言,我很难忘记从 settings.gradle 文件中删除子模块。所以要小心! :D
                      【解决方案15】:

                      您的模块/库的 build.gradle 可以很简单:

                      apply plugin: 'java'
                      
                      sourceCompatibility = JavaVersion.VERSION_1_7
                      targetCompatibility = JavaVersion.VERSION_1_7
                      

                      如果您的模块只是 .java POJO 类的集合。

                      如果它是模型/实体类并且您正在使用注释并且有一些依赖项,您可以将它们添加到:

                      apply plugin: 'java'
                      
                      sourceCompatibility = JavaVersion.VERSION_1_7
                      targetCompatibility = JavaVersion.VERSION_1_7
                      
                      repositories {
                          mavenCentral()
                      }
                      
                      dependencies {
                          compile 'com.j256.ormlite:ormlite-core:4.48'
                          compile 'com.j256.ormlite:ormlite-android:4.48'
                          compile 'com.j256.ormlite:ormlite-jdbc:4.48'
                      }
                      

                      【讨论】:

                        【解决方案16】:

                        当您将导入或复制的文件夹/项目编译为库文件夹中的模块时,会发生这种情况。当我没有包含 build.gradle 文件时,就会出现这个问题。当我添加文件时一切都很好。

                        【讨论】:

                          【解决方案17】:

                          对我来说,它原来是一个相对的符号链接(到引用的项目),不能被年级使用。 (我正在引用一个图书馆)。这是一个非常前卫的边缘案例,但它可能会在未来对某人有所帮助。

                          我通过放置一个绝对符号链接来解决它。

                          ln -s ../library之前ln -s /the/full/path/to/the/library之后

                          【讨论】:

                            【解决方案18】:

                            我也遇到了同样的问题,它通过在 settings.xml 中将一个标志 (gradle.ext.set("allowLocalEdits", true)) 更改为 false 来解决。

                            【讨论】:

                              【解决方案19】:

                              尝试添加 Volley 库并同步并运行程序。如果一个已经拉出并且我使用了 volley 并且错误显示为 -Android Studio Gradle Configuration with name 'default' not found 然后按照在您的 gradle 中添加 volley 库的步骤操作。希望能帮助到你。我通过这种方式解决了我的问题。

                              【讨论】:

                                【解决方案20】:

                                还有一个原因 - 我试图在 settings.gradle 中包含一个模块,使用

                                include ':MyModule'
                                project(':MyModule').projectDir = new File(settingsDir, '../../MyModule')
                                

                                唯一的问题是,我刚刚从 Eclipse 导入了模块,忘记将目录移到我的应用程序项目之外,即路径 '../../MyModule' 不存在。

                                【讨论】:

                                • 这或多或少也是我的问题。我在路径中有太多../,它没有指向正确的位置。这特别难以追踪,因为如果目录不存在,Android Studio / Gradle 将创建该目录。而不是抛出一个简单的错误说“不”。
                                【解决方案21】:

                                我的解决方案是简单地从 settings.gradle 文件中删除一行,它代表一个不存在的模块:

                                include ':somesdk'
                                

                                并从主项目的 build.gradle 中删除相应的行:

                                compile project(':somesdk')
                                

                                【讨论】:

                                  【解决方案22】:

                                  我通过修复 settings.gradle 中的一些路径解决了这个问题,如下所示:

                                  include ':project-external-module'
                                  
                                  project(':project-external-module').projectDir = file('/project/wrong/path')
                                  

                                  我在项目中包含了一个外部模块,但路径错误。

                                  【讨论】:

                                    【解决方案23】:

                                    我最近在引用一个通过 git 子模块初始化的项目时遇到了这个错误。

                                    我最终发现子模块(一个 java 项目)的根 build.gradle 文件没有在根级别应用 java 插件。

                                    只有

                                    apply plugin: 'idea'

                                    我添加了java插件:

                                    apply plugin: 'idea'
                                    apply plugin: 'java'
                                    

                                    一旦我应用了 java 插件,'default not found' 消息消失并且构建成功。

                                    【讨论】:

                                      【解决方案24】:

                                      另外...检查您的项目中是否有模块文件。

                                      例如,我有一个使用 Volley 模块的应用程序。在我学习Android开发的过程中,我不小心删除了“volley”目录中的文件..

                                      ~/git/Sandbox/android/HelloWorld/volley $ ll
                                      total 8
                                      drwxrwxr-x 2 ivanleon ivanleon 4096 Jun 16 22:26 ./
                                      drwxrwxr-x 6 ivanleon ivanleon 4096 Jun 17 01:51 ../
                                      

                                      我刚刚克隆了项目(见下文),然后,我在 Android Studio 中同步了项目 (工具 > Android > 使用 Gradle 文件同步项目) ,并且Gradle构建正常完成(Gradle Console:Android Studio的右下角);)。

                                      ~/git/Sandbox/android/HelloWorld/volley $ git clone https://android.googlesource.com/platform/frameworks/volley
                                      Cloning into 'volley'...
                                      remote: Counting objects: 164, done
                                      remote: Finding sources: 100% (164/164)
                                      remote: Total 3222 (delta 307), reused 3222 (delta 307)
                                      Receiving objects: 100% (3222/3222), 1.22 MiB | 114.00 KiB/s, done.
                                      Resolving deltas: 100% (307/307), done.
                                      Checking connectivity... done.
                                      
                                      ~/git/Sandbox/android/AndroidGetJSON $ ls volley
                                      Android.mk      build         build.xml         pom.xml       
                                      proguard-project.txt      src    bintray.gradle  build.gradle
                                      custom_rules.xml  proguard.cfg  rules.gradle          volley.iml
                                      

                                      【讨论】:

                                        【解决方案25】:

                                        对我来说,正确路径中不存在依赖库之一,但错误消息未正确指向该库。

                                        例如,我错过了:library-3,但错误抛出:library-1

                                        可怜的gradle。

                                        【讨论】:

                                          【解决方案26】:

                                          对于我来说,缺少在 settings.gradle 下声明的文件夹。

                                          【讨论】:

                                            猜你喜欢
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 2016-10-17
                                            • 2014-03-30
                                            • 1970-01-01
                                            • 2017-05-24
                                            • 2016-06-14
                                            • 1970-01-01
                                            • 2014-05-09
                                            相关资源
                                            最近更新 更多