180

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

设置.gradle

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

构建.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.

你能帮我处理这个消息吗?谢谢!

4

26 回答 26

82

就我而言,使用 编译后gradle tasks --info,日志在那里:

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

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

它是

-libraries
--volley
---VolleyLibrary

它应该是

-libraries
--VolleyLibrary
于 2013-10-25T06:57:49.280 回答
60

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

compile project(':something')

无法解决。

解决方案

git submodule update --init
于 2015-07-16T11:13:10.037 回答
20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

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

compile project(':android-ColorPickerPreference')

希望能帮助到你

于 2015-04-02T08:37:13.420 回答
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
于 2013-11-07T09:31:47.373 回答
12

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

于 2013-09-12T06:44:51.980 回答
10

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

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

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

于 2016-02-02T18:34:54.783 回答
7

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

include ':somesdk'

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

compile project(':somesdk')
于 2016-04-01T11:47:21.620 回答
6

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

于 2013-09-16T19:46:53.460 回答
5

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

于 2014-03-05T11:13:53.710 回答
5

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

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

希望有帮助

于 2014-02-26T14:30:15.277 回答
4

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

于 2017-04-24T06:51:26.743 回答
3

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

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

于 2013-06-19T15:21:37.767 回答
2

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

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

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

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

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

希望有帮助!

于 2015-02-20T15:03:39.777 回答
2

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

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

于 2013-07-31T15:46:42.510 回答
2

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

include ':project-external-module'

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

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

于 2016-05-04T08:37:13.783 回答
1

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

    compile 'com.google.android.gms:play-services:4.0.+'
于 2014-02-25T18:24:11.340 回答
1

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

于 2014-12-24T13:34:55.877 回答
1

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

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

构建.gradle

dependencies {
    compile project(':module-name-of-the-library')
}
于 2015-03-20T17:28:27.723 回答
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 (Tools > Android > Sync Project with Gradle Files) 上同步了项目,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
于 2016-06-21T18:23:43.497 回答
1

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

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

它只有

apply plugin: 'idea'

我添加了java插件:

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

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

于 2016-05-19T12:49:07.943 回答
0

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

于 2015-10-29T09:48:29.533 回答
0

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

于 2015-12-15T15:03:13.897 回答
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'
}
于 2015-10-20T22:11:56.953 回答
0

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

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

可怜的毕业生。

于 2016-12-09T09:32:29.680 回答
0

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

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

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

于 2015-11-27T15:05:40.837 回答
-1

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

于 2016-01-04T11:10:52.153 回答