【问题标题】:Gradle build error "Configuration with name 'default' not found."Gradle 构建错误“未找到名称为‘默认’的配置。”
【发布时间】:2017-05-24 22:41:00
【问题描述】:

我想根据我的要求修改库CompactCalendarView,所以我必须将它作为子模块添加到我的项目中。但是,当我尝试构建应用程序时,它给了我这个错误,“找不到名称为‘默认’的配置”。

我知道它与一些依赖和 gradle 构建有关。但是,我对 gradle 文件的经验为 0,并且在过去 3-4 小时内我一​​直在尝试解决这个问题,但没有成功。请帮我解决这个问题。

这是 android studio 日志中关于错误的内容。

2017-01-10 03:53:30,852 [2082900] WARN - nal.AbstractExternalSystemTask - Configuration with name 'default' not found.
com.intellij.openapi.externalSystem.model.ExternalSystemException: Configuration with name 'default' not found.
at org.jetbrains.plugins.gradle.service.project.AbstractProjectImportErrorHandler.createUserFriendlyError(AbstractProjectImportErrorHandler.java:106)
at org.jetbrains.plugins.gradle.service.project.BaseProjectImportErrorHandler.getUserFriendlyError(BaseProjectImportErrorHandler.java:158)
at org.jetbrains.plugins.gradle.service.project.BaseGradleProjectResolverExtension.getUserFriendlyError(BaseGradleProjectResolverExtension.java:579)
at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.getUserFriendlyError(AbstractProjectResolverExtension.java:158)
at com.android.tools.idea.gradle.project.AndroidGradleProjectResolver.getUserFriendlyError(AndroidGradleProjectResolver.java:405)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:772)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:752)
at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.execute(GradleExecutionHelper.java:238)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:112)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:73)
at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:41)
at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:37)
at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59)
at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37)
at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:49)
at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:51)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:138)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:124)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3.execute(ExternalSystemUtil.java:419)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$4$2.run(ExternalSystemUtil.java:500)
at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:563)
at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:142)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:127)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:126)
at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:369)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

这就是我的应用程序 build.gradle 依赖项部分的样子。

    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:support-v4:23.4.0'
    compile project(':CompactCalendarView')
    testCompile 'junit:junit:4.12'
}

CompactCalendarView 文件夹中的 build.gradle 文件。这是随图书馆提供的。

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

CompactCalendarView/library/ 中的build.gradle 文件也随库提供。

apply plugin: 'com.android.library'
apply plugin: 'idea'

    idea {
        module {
            downloadJavadoc = false

            downloadSources = true
        }
    }

    repositories {
        jcenter()
        mavenCentral()
    }


    android {
        compileSdkVersion 24
        buildToolsVersion '24.0.3'

        defaultConfig {
            minSdkVersion 15
            targetSdkVersion 24
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile 'com.android.support:appcompat-v7:24.2.1'
        //mockito dependencies
        testCompile 'junit:junit:4.12'
        testCompile 'org.mockito:mockito-core:1.9.0'
    }

我的设置.gradle

include ':app', ':CompactCalendarView'

我的项目结构

/Project
    /app
        -build.gradle

    /CompactCalendarView
        /library
            -build.gradle       
        -build.gradle

    -build.gradle
    -settings.gradle

我试过了

  • 将库中的 gradle 版本更新为与我的项目相同。

  • 从 C 盘的“用户”文件夹和项目中删除 .gradle 文件。

  • 重新下载新版本的 gradle。并手动设置。

【问题讨论】:

    标签: java android android-studio gradle build


    【解决方案1】:

    对我有用的是。

    1. 从 GitHub 下载库 as.zip 并将其解压缩到某个位置。
    2. 在 Android Studio 中,转到文件 -> 新建 -> 导入模块,然后选择解压缩的文件夹。
    3. 取消选中导入示例复选框
    4. 给它一些相关的名称。
    5. 同步/构建项目。
    6. 在app的build.gradle中,添加compile project(':name-you-gave')这一行
    7. 再次同步/构建项目。

    查看解决方案here

    【讨论】:

      【解决方案2】:

      我认为compile项目行有问题,使用替代方法编译项目库。

      compile fileTree(dir: 'Location of the CompactCalendarView(Relative to project)', include: ['CompactCalendarView'])
      

      ThisThis 链接可以进一步帮助您。

      【讨论】:

      • 你的意思是这样的吗? compile fileTree(dir:'CompactCalendarView', include: ['CompactCalendarView'])
      • 是的,如果你的CompactCalendarView在app的当前目录下应该是。我们为 compile fileTree(include: ['*.jar'], dir: 'libs') 之类的 libs 目录执行此操作,您检查了吗?
      • 我尝试在评论中添加我在上面发布的行。它构建项目没有任何错误。但是,我无法从项目中引用该库。 :(
      • 它是否显示任何错误?尝试重建项目或清除工作室缓存。
      • 您好,非常感谢您的帮助。对我有用的是这个 --> github.com/SundeepK/CompactCalendarView/issues/150
      猜你喜欢
      • 1970-01-01
      • 2013-06-15
      • 2015-09-29
      • 2016-10-17
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      相关资源
      最近更新 更多