找不到名称为“默认”的Android Studio Gradle配置


181

我在使用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.

您能帮我这个消息吗?谢谢!


5
在settings.gradle中声明的库项目是否都在项目根目录中正确配置了build.gradle文件?还:library和:android-ColorPickerPreference是否需要与您的settings.gradle文件位于目录结构中同一级别的目录中?
speedynomads 2013年

当我的一个图书馆项目中没有build.gradle文件时,这个问题就发生了。创建此文件使错误消失。
IgorGanapolsky 2014年

就我而言,我的gradle配置文件之一丢失了,没有正确推送。
Zar E Ahmer '17

如何创建gradle.build文件..i也面临相同的问题?

Answers:


82

在我的情况下,使用编译后gradle tasks --info,日志在那里:

使用空的构建文件评估项目':libraries:VolleyLibrary'。

因此无法找到该库的build.gradle文件。原因是文件夹结构。

它是

-libraries
--volley
---VolleyLibrary

应该是

-libraries
--VolleyLibrary

您如何获得它来评估':libraries:VolleyLibrary'?该行在build.gradle文件中是什么样的?
IgorGanapolsky 2014年

依赖项{compile':libraries:VolleyLibrary'}应该是这样,仅此而已。
guydemossyrock

1
根据上面的代码示例,:Library应该大写。
IgorGanapolsky 2014年

3
您如何使用“渐变任务--info”进行编译?
toddmo

8
./gradlew tasks --info这将显示所有任务的信息。我认为这将有助于找出问题所在。
srain 2015年

60

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

compile project(':something')

无法解决。

git submodule update --init

2
请解释我应该在哪个文件夹上运行此命令-项目文件夹或子模块文件夹
Ajith Memana

1
这个应该被接受的答案。在大多数情况下,具有误导性的错误消息意味着您忘记了克隆子模块
vigilancer 2016年

1
就我而言,我很难忘记从settings.gradle文件中删除子模块。所以要小心!:D
Yaroslav Havrylovych

20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

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

compile project(':android-ColorPickerPreference')

希望能帮助到你


19

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

  • 转到您的子项目模块/库模块设置。(按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. 添加include ':yourModuleName'您的settings.gradle

当我选择库项目模块设置不是选项时,f4不会执行任何操作。
Daniel Baughman

1
@DanielBaughman请澄清您的查询,但是如果仍然无法找到模块设置,则可以执行以下两项操作:1)转到文件>导入模块,然后按照以下步骤操作,Android Studio将自动添加build.gradle文件和还添加依赖项。2)手动添加build.grade文件,在其中写入脚本,您的问题将得到解决。
艾哈迈德·阿里·纳西尔

1
谢谢您的帮助。我所做的实际上是将我要导入的文件夹放入项目中-导入了模块,然后在我的项目属性中,将我要导入的源模块作为库而不是它创建的新模块文件夹引用了。我调整了参考,并对其进行了修复。
Daniel Baughman 2015年


10

另一个原因-我正在尝试使用settings.gradle中包含一个模块

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

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


这或多或少是我的问题。我../在路径上的人数过多,而且指向的地点不对。这尤其难以追踪,因为Android Studio / Gradle将创建目录(如果该目录不存在)。而不是抛出一个简单的错误“ Nope”。
约书亚·品特

7

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

include ':somesdk'

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

compile project(':somesdk')

6

遇到此错误时,我遇到了git子模块问题。尝试运行gradle tasks --info以获取更详细的问题描述。我首先用过gradle tasks --debug,但效果不如--info


5

假设要向您的项目中添加一个库(例如MyLib),则应遵循以下步骤:

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

希望对你有帮助


要清楚,请转到github项目sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library并检查其结构!有旧格式的android项目+build.gradle文件!!谢谢@ABFORCE +1
死鱼2014年

这篇文章帮助我将OpenCV4Android导入Android Studio,因此我将为这种方法提供担保。
Craig 2015年

5

就我而言,我使用的是在Windows下可运行但在Linux上无法运行的Gradle文件。该include ':SomeProject'compile project(':SomeProject')是大小写敏感的,并没有发现。




2

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

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


2

我遇到了类似的问题,发现了一种非常简单的方法来向项目中添加库。

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

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

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

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

希望有帮助!


2

我通过修复settings.gradle中的某些路径来解决此问题,如下所示:

include ':project-external-module'

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

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


1

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

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

1

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


1

就我而言,我在build.gradle文件中拼写了库的模块名称(依赖项)时收到了此错误。

因此,请记住检查模块名称是否正确。

build.gradle

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

1

当我引用通过git子模块初始化的项目时,我最近遇到了此错误。

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

它只有

apply plugin: 'idea'

我添加了Java插件:

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

一旦我应用了Java插件,“默认未找到”消息就会消失,构建成功。


1

另外...检查项目中是否包含模块文件。

例如,我有一个使用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

0

您的模块/库的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'
}

0

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


0

对我来说,这是一个相对的符号链接(到引用的项目),它不能按年级使用。(我正在引用一个库)。那是一个非常前卫的边缘情况,但也许将来会对某人有所帮助。

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

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


0

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


0

对我而言,正确的路径中不存在一个依赖库,但是错误消息没有正确指向该库。

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

可怜的摇篮。


-1

尝试添加Volley库并同步并运行该程序。如果有人拉过并且我有凌空用法,并且错误显示为-Android Studio Gradle Configuration,名称为“ default”,则执行以下步骤,将凌空库添加到gradle中。希望能帮助到你。我这样解决了我的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.