2014-03-30 72 views
105

我正在使用排雷库在android中执行网络操作。所以我想在Android Studio和Gradle系统中创建的项目中添加此库。错误:在Android Studio中找不到名称为'default'的配置

我在我的项目中添加了排球库,但是当我与gradle同步时,我收到错误消息。我尝试了所有我在这里看到的答案,但没有为我工作。

错误消息:名为 '默认' Android Studio中

排球/的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' 

     } 
    } 
} 

应用/的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') 
} 

根本找不到配置/ 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' 
+0

你有没有添加库文件夹在正确的位置,如项目名称/库? –

+0

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

+0

http://stackoverflow.com/questions/22547364/configuration-with-name-default-not-found-android-studio – k3b

回答

65

添加你的库文件夹在你的项目的根位置,并复制所有的库文件存在。对于前YourProject /库然后同步它,休息似乎对我来说确定。

+69

错误消息可能会改进:/ – aleb

+5

这也可能意味着build.gradle文件或。iml文件丢失在库目录 –

+7

@aleb中,以获得完整的错误信息,您只需运行终端命令:'./gradlew assembleDebug'。您可以从“Android Studio”或外部终端应用程序执行此操作。 – eleven

90

尝试:

git submodule init 
git submodule update 
+1

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

+0

@Vilius,我从哪个目录在终端中运行这个?我试图在我的项目目录中运行它,但它说'不是一个git存储库(或任何父目录)'。我有一个示例应用程序,我尝试导入,它没有设置为gradle,所以他们包装它。我想知道这是否是问题的一部分。事实上,我甚至没有'settings.gradle'文件。只有'build.gradle'和其他一些。 – Azurespot

+2

您应该从项目的根目录运行。它应该是一个来自git回购的项目。它应该是一个有子项目的项目。在'build.gradle'文件中查找像'compile project(':libs:my-custom:library')'' – ViliusK

21

这可能是一个罕见的情况,但对我来说这是包含在settings.gradle库是不存在。

E.g.我有:include ':libraries:Android-RateThisApp:library'在我的settings.gradle

但Android-RateThisApp文件夹是空的。只要我检出这个子模块,gradle sync就会成功。

+0

是的,你可能不得不'git submodule init'和'git submodule update'。使用子模块检出项目时很常见。 – ViliusK

+0

并不罕见......这是我遇到这种错误的时候。 – sirvon

+0

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

6

我也面临这个问题,但我遵循以下步骤: - 1)我添加模块(库)到特定的文件夹名称ThirdPartyLib

要解决这个问题,我去settings.gradle不仅仅是添加follwing: - 。

项目( ':')PROJECTDIR =新的文件( 'ThirdPartyLib /')

: - 是模块名称...

+0

谢谢,这对我很有用。 – AndroidHacker

2

要快速诊断此错误,请使用Android Studio中内置的终端(可在底部状态栏中访问)。切换到PROJECT的主目录(其中settings.gradle所在的位置)。

1.)检查以确保您的settings.gradle包含子项目。像这样的东西。这可确保您的多项目构建知道您的库子项目。

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

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

2.)运行下面的gradle命令,看看Gradle是否可以给你一个库的任务列表。在settings.gradle定义中使用相同的限定词。这将孤立地发现库构建脚本的问题。

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

3.)确保最后一步的输出列出了“assembleDefault”任务。如果它不确定该库包含build.gradle中的Android库插件。就像在最顶端一样。

apply plugin: 'com.android.library' 

我知道楼主的问题得到回答,但我相信答案已经发展在过去的一年,我认为双方有错误多个原因。我认为这一决议流程应该可以帮助那些遇到各种问题的人。

14

如果你想使用相同的库文件夹几个项目,你可以在gradle这个引用它到外部位置是这样的:

settings.gradle:

在您的应用程序 构建
include 'app', ':volley' 
project(':volley').projectDir = new File('../libraries/volley') 

.gradle

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

当我将整个项目作为子模块时,这对我有用,但我只想使用该项目的库模块(并排除示例应用程序)。 – phreakhead

3

检查settings.gradle文件。包含的模块可能会丢失或位于其他目录中。例如,对于低于线settings.gradle,gradle这个搜索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)下。 它可以手动删除并再次同步项目。

相关问题