Android Studio Gradle Konfiguracja z nazwą „default” nie została znaleziona

181

Mam problemy z kompilacją aplikacji w Android Studio (0.1.5). Aplikacja korzysta z 2 bibliotek, które załączyłem w następujący sposób:

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

Podczas kompilacji otrzymuję ten komunikat:

  Gradle: A problem occurred configuring project ':myapp'.
   > Failed to notify project evaluation listener.
   > Configuration with name 'default' not found.

Czy możesz mi pomóc z tą wiadomością? Dzięki!

Gyonder
źródło
5
czy wszystkie projekty biblioteczne zadeklarowane w settings.gradle mają poprawnie skonfigurowane pliki build.gradle w katalogach głównych projektu? także: biblioteka i: ​​android-ColorPickerPreference muszą znajdować się w katalogach na tym samym poziomie w strukturze katalogu, co plik settings.gradle?
speedynomads
Ten problem wystąpił u mnie, gdy nie miałem pliku build.gradle w jednym z moich projektów bibliotecznych. Utworzenie tego pliku spowodowało, że błąd zniknął.
IgorGanapolsky
W moim przypadku brakuje jednego z moich plików konfiguracyjnych stopni, który nie jest poprawnie wypychany.
Zar E Ahmer
jak utworzyć plik gradle.build .. mam również ten sam problem?

Odpowiedzi:

82

W moim przypadku gradle tasks --infodziennik był po kompilacji :

Ocena projektu „: biblioteki: VolleyLibrary” przy użyciu pustego pliku kompilacji.

Dlatego nie udało się znaleźć pliku build.gradle biblioteki. Powodem jest struktura folderów.

To było

-libraries
--volley
---VolleyLibrary

Tak powinno być

-libraries
--VolleyLibrary
guydemossyrock
źródło
Jak udało ci się to ocenić „: libraries: VolleyLibrary”? Jak ta linia wygląda w twoim pliku build.gradle?
IgorGanapolsky
dependencies {compile ': libraries: VolleyLibrary'} Powinno to być coś takiego i nic więcej.
guydemossyrock
1
Zgodnie z powyższym przykładem kodu: Biblioteki powinny być pisane wielkimi literami.
IgorGanapolsky
3
Jak się kompilujesz z „gradle task --info”?
toddmo
8
./gradlew tasks --infopokaże to informacje o wszystkich zadaniach. Myślę, że byłoby to pomocne, aby dowiedzieć się, co się dzieje.
srain
60

Zapomniałem wyciągnąć wszystkie submoduły. Więc moje

compile project(':something')

nie można rozwiązać.

Rozwiązanie

git submodule update --init
passsy
źródło
2
Wyjaśnij, w którym folderze mam uruchomić to polecenie - folder projektu lub folder submodułu
Ajith Memana
1
na tę należy przyjąć odpowiedź. wprowadzający w błąd komunikat o błędzie w większości przypadków oznacza, że ​​zapomniałeś sklonować submoduły
czujność
1
W moim przypadku ciężko zapomniałem usunąć submoduł z pliku settings.gradle. Więc uważaj! : D
Yaroslav Havrylovych
20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

Zamiast tego użyj powyższej linii w pliku ocen aplikacji

compile project(':android-ColorPickerPreference')

Mam nadzieję, że to pomoże

lokesh kumar
źródło
19

Następująca procedura rozwiązała mój problem:

  • Przejdź do ustawień modułu podprojektu / modułu biblioteki. (naciśnijF4 po wybraniu modułu)
  • Kliknij prawym przyciskiem myszy Dodaj> Android-Gradle .
  • Dodaj build.gradle do swojego modułu.
  • Dodaj następujący skrypt

    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. dodaj include ':yourModuleName'w ustawieniach. gradle
Ahmad Ali Nasir
źródło
Kiedy wybieram ustawienia projektu biblioteki, nie ma opcji, a f4 nic nie robi.
Daniel Baughman
1
@DanielBaughman prosimy o wyjaśnienie zapytania, ale jeśli nadal nie możesz znaleźć ustawień modułu, możesz zrobić 2 rzeczy: 1) Przejdź do Plik> Importuj moduł i postępuj zgodnie z instrukcjami, Android Studio automatycznie doda plik build.gradle i dodaj także zależności. 2) Ręcznie dodaj plik build.grade napisz w nim skrypt, a twój problem zostanie rozwiązany.
Ahmad Ali Nasir
1
Dziękuję za pomoc W rzeczywistości umieściłem folder, który importowałem do projektu - zaimportowałem moduł, a następnie we właściwościach projektu odwołałem się do modułu źródłowego, na który zamierzałem zaimportować, jako biblioteki zamiast nowego folderu modułu, który utworzyłem. Poprawiłem to odniesienie i naprawiłem je.
Daniel Baughman
12

Wystąpił również ten błąd - zapomniałem utworzyć skrypt build.gradle dla projektu biblioteki.

Wiaczesław
źródło
10

Jeszcze jedna przyczyna - próbowałem dołączyć moduł do settings.gradle za pomocą

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

Jedynym problemem było to, że właśnie zaimportowałem moduł z Eclipse i zapomniałem przenieść katalog poza projekt aplikacji, tzn. Ścieżka '../../MyModule'nie istniała.

Magnus W.
źródło
To był mniej więcej mój problem. Miałem o jeden za dużo ../na ścieżce i nie wskazywało to na właściwe miejsce. Jest to szczególnie trudne do wyśledzenia, ponieważ Android Studio / Gradle utworzy katalog, jeśli nie istnieje. Zamiast rzucać prosty błąd z napisem „Nie”.
Joshua Pinter
7

Moim rozwiązaniem jest po prostu usunięcie wiersza z pliku settings.gradle, który reprezentuje moduł, który nie istnieje:

include ':somesdk'

a także usuń odpowiedni wiersz z kompilacji głównego projektu. gradle:

compile project(':somesdk')
Yisu Zhang
źródło
6

Podczas otrzymywania tego błędu miałem problem z modułem podrzędnym git. Spróbuj uruchomić, gradle tasks --infoaby uzyskać bardziej szczegółowy opis problemu. Po raz pierwszy użyłem gradle tasks --debug, co nie było tak pomocne jak --info.

Heinrisch
źródło
5

Załóżmy, że chcesz dodać bibliotekę (na przykład MyLib) do swojego projektu, wykonaj następujące kroki:

  1. Przygotuj bibliotekę jako klasyczną bibliotekę Android, jeśli typ biblioteki to Eclipse ADT
    Do tego zadania wystarczy zaimportować ją do Android Studio
  2. Skopiuj folder biblioteki, w tym przypadku folder MyLib, i wklej go do głównego folderu projektu. Dobrą praktyką jest utworzenie nowego folderu w głównym folderze projektu i nadanie mu nazwy Biblioteki
  3. Przejdź do Android Studio i otwórz plik Settings.gradle , tam powinieneś dołączyć swoją bibliotekę do głównego projektu. Na przykład include ':MyPrj', 'Libraries:MyLib'. Uwaga : bieżący katalog dla tej instrukcji include jest twoim głównym folderem projektu. Jeśli wkleisz swój projekt do folderu, musisz podać jego adres w stosunku do głównego katalogu projektu. W moim przypadku wklejam MyLib do folderu Biblioteki . To biblioteki nazwa nie jest słowem kluczowym i możesz dla niej wybrać inne nazwy
  4. Otwórz stronę Struktura projektu ( Plik-> Struktura projektu ... ) kliknij moduły, następnie kliknij główny projekt przejdź do zakładki zależności, kliknij, +a następnie wybierz Zależność modułu, a tam są twoje biblioteki i możesz je wybrać według własnego uznania

Mam nadzieję, że to pomoże

frogatto
źródło
dla jasności przejdź do projektu github sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library i sprawdź jego strukturę! Istnieje stary +plik Android build.gradle projektu !! Dzięki, @ABFORCE +1
deadfish
Ten post pomógł mi zaimportować OpenCV4Android do Android Studio, więc poręczę tę metodę.
Craig
5

W moim przypadku korzystałem z plików Gradle, które działają w systemie Windows, ale nie działają w systemie Linux. include ':SomeProject'I compile project(':SomeProject')były wielkość liter i nie stwierdzono.

robUx4
źródło
4

Dla mnie brakowało folderu, który został zadeklarowany w pliku settings.gradle .

Steve Ham
źródło
3

Na pierwszy rzut oka wszystko wygląda dobrze, ale niektórzy szukający tu odpowiedzi znaleźli odpowiedź, która może być pomocna: https://stackoverflow.com/a/16905808/7944

Nawet oryginalny autor odpowiedzi nie brzmi super pewnie, ale warto kontynuować. Nie powiedziałeś też nic o swojej strukturze katalogów, więc zakładam, że to nudne rzeczy domyślne, ale nie jestem pewien.

Josh Gagnon
źródło
2

Inna potencjalna przyczyna tego dokładnego błędu: znalazłem ten błąd, rozwiązując go, komentując niektóre nieużywane biblioteki w sekcji zależności build.gradle. Upewnij się, że wszystkie te ścieżki są poprawne.

Naprawdę przyjrzałbym się wpisowi twojego projektu kompilacji („: android-ColorPickerPreference”) w build.gradle - spróbuj skomentować powiązany kod i ten wiersz w build.gradle i sprawdzić, czy to się kompiluje - a następnie przejdź od tego miejsca rozwiązując problem ze ścieżką lub biblioteką.

RoundSparrow hilltx
źródło
2

Miałem podobny problem i znalazłem bardzo prosty sposób na dodanie biblioteki do projektu.

  1. Utwórz folder „libs” w katalogu głównym swojego projektu.
  2. Skopiuj plik JAR do tego folderu.
  3. Wróć do Android Studio, zlokalizuj plik JAR i kliknij go prawym przyciskiem myszy, wybierz „Dodaj jako bibliotekę ...”, zapyta tylko, do którego modułu chcesz go dodać, a następnie wybierz „aplikację”.

Teraz w module „aplikacja” możesz korzystać z klas z tego pliku JAR, będzie on mógł automatycznie lokalizować i dodawać deklaracje „importuj” i kompilować wszystko dobrze. Jedynym problemem może być to, że dodaje zależność od ścieżki bezwzględnej, takiej jak:

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

w „app / build.gradle”.

Mam nadzieję, że to pomaga!

Jurij Grinewicz
źródło
2

Rozwiązałem ten problem, ustalając niektóre ścieżki w pliku settings.gradle, jak pokazano poniżej:

include ':project-external-module'

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

Dołączałem moduł zewnętrzny do mojego projektu i miałem złą ścieżkę do niego.

Bogdan Emil Mariesan
źródło
1

Miałem ten problem, kiedy ręcznie wkleiłem google-play-services_lib do mojego projektu. Oczywiście w usługach Play nie było pliku build.gradle. Nauczyłem się, że rozwiązaniem jest umieszczenie tej zależności w build.gradle mojego projektu (zamiast kopiowania katalogu usług Play):

    compile 'com.google.android.gms:play-services:4.0.+'
Igor Ganapolski
źródło
1

Podczas importowania biblioteki ręcznie miałem ten sam problem. Próbowałem dodać swoją bibliotekę z modułem plik> import i to rozwiązało mój problem.

populacja
źródło
1

W moim przypadku wystąpił ten błąd, gdy źle wpisałem nazwę modułu biblioteki (zależność) w build.gradlepliku.

Pamiętaj więc, aby sprawdzić, czy nazwa modułu jest poprawna.

build.gradle

dependencies {
    compile project(':module-name-of-the-library')
}
vovahost
źródło
1

Ostatnio napotkałem ten błąd, gdy odwoływałem się do projektu, który został zainicjowany za pomocą podmoduła git.

Skończyło się na tym, że dowiedziałem się, że build.gradleplik główny submodułu (projekt Java) nie ma wtyczki Java na poziomie root.

Miał tylko

apply plugin: 'idea'

Dodałem wtyczkę Java:

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

Po zastosowaniu wtyczki Java komunikat „domyślnie nie znaleziono” zniknął i kompilacja się powiodła.

Donn Felker
źródło
1

Również ... sprawdź, czy masz pliki modułów w swoim projekcie.

Na przykład mam aplikację, która korzysta z modułu Volley. Podczas studiów nad rozwojem Androida przypadkowo usunąłem pliki znajdujące się w katalogu „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 ../

Właśnie sklonowałem projekt (patrz poniżej), a następnie dokonałem synchronizacji projektu w Android Studio (Narzędzia> Android> Synchronizuj projekt z plikami Gradle) , a kompilacja Gradle zakończyła się normalnie (Konsola Gradle: prawy dolny róg 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
ivanleoncz
źródło
0

Twój build.gradle dla modułu / biblioteki może być tak prosty jak:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Jeśli twój moduł to tylko zbiór klas POJO .java.

Jeśli to klasy modelu / encji, a używasz adnotacji i masz pewne zależności, do których możesz je dodać:

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'
}
Piekarz
źródło
0

Dzieje się tak, gdy kompilujesz zaimportowany lub skopiowany folder / projekt jako moduł w folderze bibliotek. Ten problem pojawiał się, gdy nie dołączałem build.gradlepliku. kiedy dodałem plik, wszystko poszło dobrze.

Kenan Begić
źródło
0

Dla mnie okazało się, że jest to względne dowiązanie symboliczne (do projektu, do którego się odwołuje), którego ocena nie mogła wykorzystać. (Odniosłem się do biblioteki). To dość ostry przypadek, ale może pomaga komuś w przyszłości.

Rozwiązałem to, umieszczając absolutny symboliczny link.

Przedtem ln -s ../librarypoln -s /the/full/path/to/the/library

Langusten Gustel
źródło
0

Napotkałem również ten sam problem i problem został rozwiązany przez zmianę jednej flagi (gradle.ext.set („allowLocalEdits”, true)) na false w settings.xml.

AVINASH SHRIMALI
źródło
0

Dla mnie jedna z bibliotek zależnych nie istnieje w prawidłowej ścieżce, ale komunikat o błędzie nie wskazuje poprawnie tej biblioteki.

Na przykład to, co przeoczyłem, to :library-3błąd :library-1.

słaba ocena.

Youngjae
źródło
-1

Spróbuj dodać bibliotekę Volley, zsynchronizuj i uruchom program. jeśli ktoś wyciągnął, a ja mam użycie salwy, a błąd pokazuje się jako -Android Studio Gradle Configuration z nazwą „default” nie znaleziono, postępuj zgodnie z krokiem dodawania biblioteki salwy w twoim gradie. mam nadzieję, że to pomoże. W ten sposób rozwiązałem problem.

Sayyaf
źródło