未找到名称“default”的Android Studio Gradle配置

时间:2013-06-19 10:05:58

标签: android gradle android-studio

我在使用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.
你可以帮我这个消息吗?谢谢!

26 个答案:

答案 0 :(得分:82)

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

  

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

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

-libraries
--volley
---VolleyLibrary

应该是

-libraries
--VolleyLibrary

答案 1 :(得分:60)

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

compile project(':something')

无法解决。

解决方案

git submodule update --init

答案 2 :(得分:20)

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

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

compile project(':android-ColorPickerPreference')

希望有所帮助

答案 3 :(得分:19)

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

  • 转到子项目模块/库模块设置。 (选择模块后按 F4 )
  • 右键单击添加> Android的摇篮即可。
  • 将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
    2. 中添加include ':yourModuleName'

答案 4 :(得分:12)

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

答案 5 :(得分:10)

还有另一个原因 - 我试图在settings.gradle中使用

包含一个模块
include ':MyModule'
project(':MyModule').projectDir = new File(settingsDir, '../../MyModule')

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

答案 6 :(得分:7)

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

include ':somesdk'

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

compile project(':somesdk')

答案 7 :(得分:6)

收到此错误时,我遇到了一个git子模块问题。尝试运行gradle tasks --info以获取更详细的问题说明。我首先使用了gradle tasks --debug,这与--info没有多大帮助。

答案 8 :(得分:5)

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

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

答案 9 :(得分:5)

在我的情况下,我使用的是在Windows下运行但在Linux上运行失败的Gradle文件。 include ':SomeProject'compile project(':SomeProject')区分大小写,但未找到。

答案 10 :(得分:4)

对于我来说,文件夹丢失,在 settings.gradle 下宣布。

答案 11 :(得分:3)

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

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

答案 12 :(得分:2)

我有类似的问题,发现了一个非常简单的方法来为项目添加库。

  1. 在项目的根目录中创建文件夹“libs”。
  2. 将JAR文件复制到该文件夹​​中。
  3. 返回Android Studio,找到您的JAR文件并右键单击它,选择“Add As Library ...”,它只会询问您要添加它的模块,请选择“app”。
  4. 现在在您的“app”模块中,您可以使用该JAR中的类,它将能够自动定位和添加“import”声明并且编译正常。唯一的问题可能是它增加了绝对路径的依赖性,如:

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

    在“app / build.gradle”中。

    希望有所帮助!

答案 13 :(得分:2)

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

我看起来真的很接近build.gradle中的编译项目(':android-ColorPickerPreference')条目 - 尝试在build.gradle中注释相关代码和这一行,看看是否编译 - 然后从解决路径或库问题。

答案 14 :(得分:2)

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

Object data;

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

答案 15 :(得分:1)

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

请记住检查模块的名称是否正确。

<强>的build.gradle

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

答案 16 :(得分:1)

当我手动导入我的库时,我有同样的问题。我试图用文件&gt;添加我的库。导入模块,它解决了我的问题。

答案 17 :(得分:1)

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

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

答案 18 :(得分:1)

当我参考通过git子模块初始化的项目时,我最近遇到了这个错误。

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

只有

apply plugin: 'idea'

我添加了java插件:

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

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

答案 19 :(得分:1)

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

例如,我有一个使用Volley模块的应用程序。在我研究Android开发期间,我不小心删除了&#34; volley&#34;中的文件。目录..

~/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 (工具&gt; Android&gt;与Gradle文件同步项目)中进行项目同步,Gradle构建正常结束(Gradle控制台: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

答案 20 :(得分: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'
}

答案 21 :(得分:0)

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

答案 22 :(得分:0)

对我而言,它被证明是一个相对的符号链接(对于引用的项目),不能被等级使用。 (我正在引用一个库)。这是一个非常前卫的边缘案例,但也许它可以帮助将来的某个人。

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

ln -s ../library

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

答案 23 :(得分:0)

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

答案 24 :(得分:0)

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

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

可怜的朋友。

答案 25 :(得分:-1)

尝试添加Volley库并同步并运行该程序。如果一个人拉了,我有排球使用,错误显示为-Android Studio Gradle配置名称&#39;默认&#39;找不到,然后按照在你的gradle中添加凌空库的步骤。希望能帮助到你。我以这种方式解决了我的问题。