이름이 'default'인 Android Studio Gradle 구성을 찾을 수 없습니다


181

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.

이 메시지를 좀 도와 주시겠습니까? 감사!


5
settings.gradle에 선언 된 라이브러리 프로젝트가 모두 프로젝트 루트에 build.gradle 파일을 올바르게 구성 했습니까? 또한 : library 및 : android-ColorPickerPreference가 디렉토리 구조의 settings.gradle 파일과 동일한 수준의 디렉토리에 있어야합니까?
speedynomads

이 문제는 라이브러리 프로젝트 중 하나에 build.gradle 파일이 없을 때 발생했습니다. 이 파일을 작성하면 오류가 사라졌습니다.
IgorGanapolsky

내 경우에는 내 gradle 구성 파일 중 하나가 누락되었습니다.
Zar E Ahmer

gradle.build 파일을 만드는 방법 .. 나는 같은 문제에 직면하고 있습니까?

답변:


82

내 경우에는로 컴파일 한 후 gradle tasks --info로그가있었습니다.

빈 빌드 파일을 사용하여 프로젝트 ': libraries : VolleyLibrary'를 평가 중입니다.

그래서 라이브러리의 build.gradle 파일을 찾지 못했습니다. 이유는 폴더 구조입니다.

그것은이었다

-libraries
--volley
---VolleyLibrary

되어야한다

-libraries
--VolleyLibrary

': 라이브러리 : VolleyLibrary'를 평가하기 위해 어떻게 했습니까? 해당 줄은 build.gradle 파일에서 어떤 모양입니까?
IgorGanapolsky

dependencies {compile ': libraries : VolleyLibrary'} 이와 같은 것이되어야합니다.
guydemossyrock

1
위의 코드 샘플에 따르면 : 라이브러리는 대문자 여야합니다.
IgorGanapolsky

3
"gradle tasks --info"로 어떻게 컴파일합니까?
toddmo

8
./gradlew tasks --info모든 작업의 ​​정보가 표시됩니다. 나는 이것이 무엇이 잘못되고 있는지 알아내는 데 도움이 될 것이라고 생각합니다.
6:06

60

모든 하위 모듈을 가져 오는 것을 잊었습니다. 그래서 나의

compile project(':something')

해결할 수 없습니다.

해결책

git submodule update --init

2
이 명령을 실행해야하는 폴더에 대해 설명하십시오-프로젝트 폴더 또는 하위 모듈 폴더
Ajith Memana

1
이 답변을 받아 들여야합니다. 대부분의 경우 오해의 소지가있는 오류 메시지는 하위 모듈을 복제하는 것을 잊었 음을 의미합니다.
vigilancer

1
필자의 경우 settings.gradle 파일에서 하위 모듈을 제거하는 것을 잊었습니다. 그러니 조심해! : D
Yaroslav Havrylovych

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

앱의 gradle 파일 에서 위의 줄을 대신 사용하십시오.

compile project(':android-ColorPickerPreference')

그것이 도움이되기를 바랍니다.


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'설정에 추가 하십시오.

라이브러리 프로젝트 모듈 설정을 선택하면 옵션이 아니며 f4는 아무것도하지 않습니다.
Daniel Baughman

1
@DanielBaughman은 쿼리를 명확하게 설명하지만 여전히 모듈 설정을 찾을 수없는 경우 2 가지 작업을 수행 할 수 있습니다 : 1) 파일> 모듈 가져 오기로 이동하여 단계를 수행하면 Android Studio가 자동으로 build.gradle 파일을 추가하고 또한 종속성을 추가하십시오. 2) build.grade 파일을 수동으로 추가하여 스크립트를 작성하면 문제가 해결됩니다.
Ahmad Ali Nasir

1
도와 주셔서 감사합니다. 내가 한 것은 실제로 프로젝트로 가져오고 있던 폴더를 모듈로 가져 와서 프로젝트 속성에서 가져온 새 모듈 폴더 대신 라이브러리로 가져올 소스 모듈을 참조하는 것입니다. 그 참조를 조정하고 수정했습니다.
Daniel Baughman 2016 년

12

나는 또한이 오류에 직면했습니다-라이브러리 프로젝트 용 build.gradle 스크립트를 만드는 것을 잊었습니다.


10

또 다른 원인-settings.gradle을 사용하여 모듈을 포함하려고했습니다.

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

단지 문제는 방금 Eclipse에서 모듈을 가져 와서 디렉토리를 내 응용 프로그램 프로젝트 밖으로 옮기는 것을 잊어 버렸습니다. 즉, 경로 '../../MyModule'가 존재하지 않았습니다.


이것은 다소 내 문제였습니다. 나는 ../길에 너무 많은 것이 있었고 올바른 곳을 가리키고 있지 않았습니다. 디렉토리가 존재하지 않는 경우 Android Studio / Gradle이 디렉토리를 생성하므로 추적하기가 특히 어렵습니다. "Nope"이라는 간단한 오류가 발생하지 않습니다.
Joshua Pinter

7

내 해결책은 settings.gradle 파일에서 존재하지 않는 모듈을 나타내는 행을 간단히 제거하는 것입니다.

include ':somesdk'

기본 프로젝트의 build.gradle에서 해당 줄을 제거하십시오.

compile project(':somesdk')

6

이 오류가 발생하면 자식 하위 모듈 문제가 발생했습니다. gradle tasks --info보다 자세한 문제 설명을 보려면 실행하십시오 . 나는 처음에 사용 gradle tasks --debug했는데, 그다지 도움이되지 않았다 --info.


5

라이브러리 (예 : MyLib)를 프로젝트에 추가한다고 가정하면 다음 단계를 수행해야합니다.

  1. 라이브러리 유형이 Eclipse ADT 인 경우 라이브러리를 gradle Android 라이브러리로 준비하십시오.
    이 작업의 경우 Android Studio에서 가져 오기로 충분합니다.
  2. 라이브러리 폴더 (이 경우 MyLib 폴더)를 복사하여 기본 프로젝트 폴더에 붙여 넣습니다. 기본 프로젝트 폴더에 새 폴더를 만들고 라이브러리 이름을 지정하는 것이 좋습니다.
  3. Android Studio로 이동하여 Settings.gradle 파일을 엽니 다 . 기본 프로젝트에 라이브러리를 포함시켜야합니다. 예를 들면 include ':MyPrj', 'Libraries:MyLib'. 참고 :이 include 문의 현재 디렉토리는 기본 프로젝트 폴더입니다. 프로젝트를 폴더에 붙여 넣을 경우 기본 프로젝트 디렉토리와 관련된 주소를 언급해야합니다. 필자의 경우 MyLib라이브러리 폴더에 붙여 넣 습니다 . 이 라이브러리 이름은 키워드가 아니며 다른 이름을 선택할 수 있습니다
  4. 프로젝트 구조 페이지 ( 파일-> 프로젝트 구조 ... )를 열고 모듈을 클릭 한 다음 기본 프로젝트를 클릭하십시오 종속성 탭으로 이동을 클릭 한 +다음 모듈 종속성 을 선택 하면 라이브러리가 있으며 원하는대로 선택할 수 있습니다

도움이되기를 바랍니다.


분명히하려면 github project sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library 로 이동하여 구조를 확인하십시오! 오래된 형식의 안드로이드 프로젝트 +build.gradle 파일이 있습니다! 감사합니다, @ABFORCE +1
deadfish

이 게시물은 OpenCV4Android를 Android Studio로 가져 오는 데 도움이되었으므로이 방법을 보증하겠습니다.
Craig

5

필자의 경우 Windows에서는 작동하지만 Linux에서는 실패한 Gradle 파일을 사용하고있었습니다. include ':SomeProject'와는 compile project(':SomeProject')대소 문자를 구분했고 찾을 수 없습니다.


4

나를 위해 settings.gradle 아래에 선언 된 폴더가 누락되었습니다 .


3

모든 것은 언뜻보기에 벌금을 보이지만, 주변에 약간의 파고가 도움이 될 수있는 해답을 발견 https://stackoverflow.com/a/16905808/7944

독창적 인 답변 작가조차도 매우 자신감이 없지만 후속 조치를 취할 가치가 있습니다. 또한 디렉토리 구조에 대해 아무 말도하지 않았으므로 지루한 기본 내용이라고 가정하지만 확실하지 않습니다.


2

이 정확한 오류의 또 다른 잠재적 원인 : build.gradle dependencies 섹션에서 사용되지 않은 라이브러리를 주석 처리 하여이 오류가 해결되었음을 알았습니다. 이 경로와 그 경로가 모두 올바른지 확인하십시오.

build.gradle의 컴파일 프로젝트 ( ': android-ColorPickerPreference') 항목을 자세히 살펴보고 build.gradle에서 관련 코드 와이 줄을 주석 처리하고 컴파일 여부를 확인한 다음 해결 방법을 찾으십시오. 경로 또는 라이브러리 문제.


2

비슷한 문제가 있었고 프로젝트에 라이브러리를 추가하는 매우 간단한 방법을 찾았습니다.

  1. 프로젝트 루트에 "libs"폴더를 만듭니다.
  2. JAR 파일을 해당 폴더에 복사하십시오.
  3. Android Studio로 돌아가서 JAR 파일을 찾아 마우스 오른쪽 단추로 클릭하고 "라이브러리로 추가 ..."를 선택하십시오. 추가하려는 모듈 만 요청하고 "앱"을 선택하십시오.

이제 "app"모듈에서 해당 JAR의 클래스를 사용할 수 있으며 "import"선언을 자동으로 찾아서 추가하고 올바르게 컴파일 할 수 있습니다. 유일한 문제는 다음과 같은 절대 경로로 종속성을 추가한다는 것입니다.

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

"app / build.gradle"에

희망이 도움이됩니다!


2

아래 표시된 것처럼 settings.gradle의 일부 경로를 수정 하여이 문제를 해결했습니다 .

include ':project-external-module'

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

내 프로젝트에 외부 모듈을 포함시키고 있었고 잘못된 경로가있었습니다.


1

google-play-services_lib를 프로젝트에 수동으로 붙여 넣을 때이 문제가 발생했습니다. 분명히, play-services에는 build.gradle 파일이 없었습니다. 내가 배운 해결책은이 종속성을 프로젝트의 build.gradle (play-services 디렉토리 하드 카피 대신)에 두는 것입니다.

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

1

내 라이브러리를 수동으로 가져올 때 동일한 문제가 발생했습니다. 파일> 가져 오기 모듈로 라이브러리를 추가하려고했는데 문제가 해결되었습니다.


1

필자의 경우 build.gradle파일 에서 라이브러리의 모듈 이름 (종속성)의 철자를 잘못 입력했을 때이 오류가 발생했습니다 .

따라서 모듈 이름이 올바른지 확인하십시오.

build.gradle

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

1

최근에 자식 서브 모듈을 통해 초기화 된 프로젝트를 참조 할 때이 오류가 발생했습니다.

build.gradle하위 모듈 (Java 프로젝트) 의 루트 파일에 루트 레벨에서 java 플러그인이 적용되지 않았다는 것을 알게되었습니다 .

그것은 단지했다

apply plugin: 'idea'

Java 플러그인을 추가했습니다.

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

Java 플러그인을 적용하면 'default not found'메시지가 사라지고 빌드가 성공했습니다.


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에서 프로젝트 동기화 (도구> Android> Gradle 파일과 프로젝트 동기화) 및 Gradle 빌드가 정상적으로 완료되었습니다 (Gradle Console : 오른쪽 하단) ;).

~/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

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'
}

0

라이브러리 폴더에서 가져 오거나 복사 한 폴더 / 프로젝트를 모듈로 컴파일 할 때 발생합니다. 이 문제는 build.gradle파일을 포함시키지 않았을 때 발생했습니다 . 파일을 추가했을 때 모든 것이 잘되었습니다.


0

나에게 그것은 학년에 의해 사용될 수없는 상대적인 상징적 링크 (참조 된 프로젝트에 대한 링크)로 밝혀졌습니다. (나는 도서관을 참조하고 있었다). 그것은 꽤 날카로운 가장자리 케이스이지만 아마도 미래의 누군가를 도울 것입니다.

나는 절대적인 상징적 인 링크를 넣어서 해결했습니다.

ln -s ../libraryln -s /the/full/path/to/the/library


0

또한 같은 문제에 직면하여 settings.xml에서 하나의 플래그 (gradle.ext.set ( "allowLocalEdits", true))를 false로 변경하여 해결되었습니다.


0

나에게 종속 라이브러리 중 하나가 올바른 경로에 존재하지 않지만 오류 메시지가 THAT 라이브러리를 올바르게 가리 키지 않습니다.

예를 들어, 내가 놓친 것은 :library-3오류가 발생 :library-1합니다.

나쁜 gradle.


-1

Volley 라이브러리를 추가하고 프로그램을 동기화하고 실행하십시오. 하나를 가져 와서 발리 사용을하고 오류가 'default'라는 이름을 가진 -Android Studio Gradle 구성으로 표시되지 않으면 gradle에 발리 라이브러리를 추가하는 단계를 따르십시오. 도움이되기를 바랍니다. 나는 이런 식으로 내 문제를 해결했다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.