错误:在Android Studio中找不到名称为“默认”的配置


117

我正在使用凌空库在android中执行网络操作。因此,我试图将此库添加到在Android Studio和gradle系统中创建的项目中。

我在项目中添加了凌空库,但是当我与gradle同步时,我收到了错误消息。我尝试了所有在这里看到的答案,但没有任何帮助。

错误消息:在Android Studio中找不到名称为“ default”的配置

齐射/build.gradle

apply plugin: 'android-library'

android {

    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    sourceSets {
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
        }

        main {
            assets.srcDirs       = ['assets']
            res.srcDirs          = ['res']
            aidl.srcDirs         = ['src']
            resources.srcDirs    = ['src']
            renderscript.srcDirs = ['src']
            java.srcDirs         = ['src']
            manifest.srcFile 'AndroidManifest.xml'

        }
    }
}

app / build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile project(':library:volley')
}

root / build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

allprojects {
    repositories {
        mavenCentral()
    }
}

settings.gradle

include ':app'
include ':library:volley'

您是否在正确的位置(如项目名称/库)添加了库文件夹?
2014年

我在应用程序目录中添加了库目录
Bot



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

Answers:


68

在您的项目的根目录中添加您的库文件夹,并在其中复制所有库文件。对于以前的YourProject / library,然后将其同步,剩下的事情对我来说似乎还可以。


5
这也可能意味着库目录中缺少build.gradle文件或.iml文件
WKS,

7
@aleb以获得完整的错误消息,您只需要运行终端命令:./gradlew assembleDebug。您可以从Android Studio外部终端应用程序执行此操作。
2015年

您可以张贴示例和照片吗?感谢,因为这种方法不工作
国内配送

谢谢朋友拯救了我的一天。谢谢<3
Gufran Khurshid

1
这使我意识到我缺少我的子模块,@ViliusK的答案对此进行了更明确的扩展。
Ionoclast Brigham

96

尝试:

git submodule init
git submodule update

1
这绝对适用于作为子模块添加的库,谢谢!
Arne 2014年

@Vilius,我在终端中从哪个目录运行它?我尝试在项目目录中运行它,但显示为Not a git repository (or any of the parent directories)。我有一个尝试导入的示例应用程序,但该应用程序未设置为gradle,因此他们对其进行了包装。我想知道这是否是问题的一部分。实际上,我什至没有settings.gradle文件。只有build.gradle和其他一些。
Azurespot 2015年

2
您应该从项目的根目录运行。它应该是git repo的项目。它应该是一个带有子项目的项目。在build.gradle文件中查找类似的内容compile project(':libs:my-custom:library')
ViliusK

1
>一个子模块允许您将另一个Git存储库保留在存储库的子目录中。另一个存储库有自己的历史记录,不会干扰当前存储库的历史记录。这可以用于具有外部依赖性,例如第三方库。来源
ViliusK 2015年

3
git子模块与gradle build错误有什么关系?
泰迪

22

这可能是一种罕见的情况,但是对我来说,settings.gradle中没有包含的库。

例如,我有:include ':libraries:Android-RateThisApp:library'在我的settings.gradle中

但是文件夹Android-RateThisApp为空。一旦签出此子模块,gradle同步就会成功。


是的,您可能不得不git submodule initgit submodule update。检出带有子模块的项目时很常见。
ViliusK 2015年

一点也不罕见....这种情况我经常遇到这种错误..很多时候。
sirvon,2015年

对我来说就是这种情况!更新了react-native-maps,并将路径更改为android目录
cbartondock

14

如果要将同一库文件夹用于多个项目,则可以在gradle中将其引用到外部位置,如下所示:

settings.gradle:

include 'app', ':volley'
project(':volley').projectDir = new File('../libraries/volley')

在您的应用程序build.gradle中

dependencies {
    ...
    compile project(':volley')
...}

当我将整个项目作为子模块时,这对我有用,但我只想使用该项目的库模块(不包括示例应用程序)。
phreakhead '16

6

我也面临此问题,但是我遵循以下步骤:-1)我将module(Library)添加到特定的文件夹名称ThirdPartyLib

要解决此问题,我不但可以添加settings.gradle,还可以添加以下内容:-

project(':')。projectDir =新文件('ThirdPartyLib /')

:-是模块名称...


3

要诊断此错误,请快速将其移至终端或使用Android Studio内置的终端(可在底部状态栏中访问)。转到项目的主目录(其中settings.gradle位于)。

1.)检查以确保您settings.gradle包括子项目。这样的事情。这样可以确保您的多项目版本了解库子项目。

include ':apps:App1', ':apps:App2', ':library:Lib1'

冒号之间的文本是子目录。

2.)运行以下gradle命令,仅查看Gradle是否可以为您提供库任务列表。在settings.gradle定义中使用相同的限定词。这将单独发现库构建脚本的问题。

./gradlew :library:Lib1:tasks --info

3.)确保最后一步的输出列出了“ assembleDefault”任务。如果不确定,该库是否在中包含Android库插件build.gradle。像这样的最高层。

apply plugin: 'com.android.library'

我知道原始海报的问题已得到回答,但我相信答案在过去一年中有所发展,并且我认为错误的原因有多种。我认为该决议流程应为遇到各种问题的人们提供帮助。


3

检查settings.gradle文件。包含的模块可能丢失或在另一个目录中。例如,在项目目录中的settings.gradlegradle search common-lib模块下面,

include ':common-lib'

如果缺少该模块,则可以找到该模块并将其复制到项目中,或在settings.gradle文件中引用其路径:

include ':common-lib'
project(':common-lib').projectDir = new File('<path to your module i.e. C://Libraries/common-lib>') // 

0

对我而言(根据我所看到的一些评论),问题是gradle无法找到导入库的build.gradle。此配置简单明了,但错误消息有点含糊。例如,我当时使用的是android-map-utils项目,因此必须通过添加以下两行将其包含在我的settings.gradle中。

include ':android-map-utils'
project(':android-map-utils').projectDir = new File(settingsDir, '..\\..\\modules\\android-maps-utils-master\\library')

库的路径是相对于我项目的settings.gradle文件的。然后,我像这样在应用程序的build.gradle文件的依赖项中简单地引用了它

...

    dependencies {
    ....
        compile project(':android-map-utils')
    ....

    }

我建议一次导入一个模块,进行编译和检查。


0

如果假设您在删除某些节点模块后发现此错误,则理想情况下不应在build.gradle(Module:app)下提供该库。可以手动将其删除并再次同步项目。


0

我也遇到了同样的问题,问题在于以下某些文件中缺少这些库。

settings.gradle,app / build.gradle,package.json,MainApplication.java

假设该库是react-native-vector-icons,则应在以下文件中提及它;

在依存关系部分下的app / build.gradle文件中,添加:

编译项目(':react-native-vector-icons')

在android文件夹下的settings.gradle文件中,添加以下内容:

包括':react-native-vector-icons'project(':react-native-vector-icons')。projectDir = new File(rootProject.projectDir,'../node_modules/react-native-vector-icons/android' )

在MainApplication.java中,添加以下内容:

导入依赖项:import com.oblador.vectoricons.VectorIconsPackage;

然后在getPackages()方法中添加:new VectorIconsPackage()。


0

删除一些反应本机依赖性即可解决问题

删除这些行即可解决问题。该行是由rnpm链接创建的,但存在错误。

compile project(':react-native-gps')
compile project(':react-native-maps')
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.