Android Studio Gradle-Konfiguration mit dem Namen 'Standard' nicht gefunden


181

Ich habe Probleme beim Kompilieren meiner App mit Android Studio (0.1.5). Die App verwendet 2 Bibliotheken, die ich wie folgt aufgenommen habe:

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

Beim Kompilieren erhalte ich folgende Meldung:

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

Könnten Sie mir mit dieser Nachricht helfen? Vielen Dank!


5
Haben die in settings.gradle deklarierten Bibliotheksprojekte alle build.gradle-Dateien in den Projektwurzeln korrekt konfiguriert? auch: library und: android-ColorPickerPreference müssen sich in Verzeichnissen auf derselben Ebene in Ihrer Verzeichnisstruktur befinden wie Ihre settings.gradle-Datei?
Speedynomads

Dieses Problem trat bei mir auf, als ich in einem meiner Bibliotheksprojekte keine build.gradle-Datei hatte. Durch das Erstellen dieser Datei wurde der Fehler behoben.
Igor Ganapolsky

In meinem Fall fehlt eine meiner Gradle-Konfigurationsdateien. Sie wird nicht richtig gepusht.
Zar E Ahmer

Wie erstelle ich eine gradle.build Datei? Ich stehe auch vor dem gleichen Problem.

Antworten:


82

In meinem Fall war gradle tasks --infodas Protokoll nach dem Kompilieren mit :

Auswertung des Projekts ': Bibliotheken: VolleyLibrary' mit leerer Build-Datei.

Daher konnte die Datei build.gradle der Bibliothek nicht gefunden werden. Grund ist die Ordnerstruktur.

Es war

-libraries
--volley
---VolleyLibrary

Es sollte sein

-libraries
--VolleyLibrary

Wie haben Sie es geschafft, ': library: VolleyLibrary' zu bewerten? Wie sieht diese Zeile in Ihrer build.gradle-Datei aus?
IgorGanapolsky

Abhängigkeiten {compile ': library: VolleyLibrary'} Es sollte so etwas sein und nichts weiter.
guydemossyrock

1
Gemäß Ihrem obigen Codebeispiel sollten: Bibliotheken groß geschrieben werden.
IgorGanapolsky

3
Wie kompiliert man mit "gradleasks --info"?
Toddmo

8
./gradlew tasks --infoDadurch werden die Informationen aller Aufgaben angezeigt. Ich denke, dies wäre hilfreich, um herauszufinden, was falsch läuft.
Srain

60

Ich habe vergessen, alle Submodule zu ziehen. So mein

compile project(':something')

konnte nicht gelöst werden.

Lösung

git submodule update --init

2
Bitte erklären Sie, in welchem ​​Ordner ich diesen Befehl ausführen soll - Projektordner oder Submodulordner
Ajith Memana

1
Diese Antwort sollte akzeptiert werden. Eine irreführende Fehlermeldung bedeutet in den meisten Fällen, dass Sie vergessen haben, Submodule zu klonen
Vigilancer

1
In meinem Fall habe ich schwer vergessen, das Submodul aus der Datei settings.gradle zu entfernen. Also sei vorsichtig! : D
Yaroslav Havrylovych

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

Verwenden Sie die obige Zeile in der Gradle- Datei Ihrer App anstelle von

compile project(':android-ColorPickerPreference')

Ich hoffe es hilft


19

Das folgende Verfahren hat mein Problem gelöst:

  • Gehen Sie zu Ihren Einstellungen für das Unterprojektmodul / das Bibliotheksmodul. (Drücken SieF4 nach Auswahl des Moduls)
  • Klicken Sie mit der rechten Maustaste auf Hinzufügen> Android-Gradle .
  • Fügen Sie Ihrem Modul build.gradle hinzu.
  • Fügen Sie das folgende Skript hinzu

    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. Fügen Sie include ':yourModuleName'in Ihrem settings.gradle hinzu

Wenn ich die Einstellungen des Bibliotheksprojektmoduls auswähle, ist dies keine Option und f4 tut nichts.
Daniel Baughman

1
@DanielBaughman Bitte klären Sie Ihre Anfrage, aber falls Sie die Moduleinstellungen immer noch nicht finden können, können Sie zwei Dinge tun: 1) Gehen Sie zu Datei> Modul importieren und befolgen Sie die Schritte. Android Studio fügt automatisch die Datei build.gradle und hinzu Fügen Sie auch die Abhängigkeiten hinzu. 2) Fügen Sie die Datei build.grade manuell hinzu. Schreiben Sie das Skript hinein, und Ihr Problem wird behoben.
Ahmad Ali Nasir

1
Danke für Ihre Hilfe. Ich habe tatsächlich den Ordner, den ich importiert habe, in das Projekt eingefügt - das Modul importiert und dann in meinen Projekteigenschaften auf das Quellmodul verwiesen, das ich als Bibliothek importieren wollte, anstatt auf den neu erstellten Modulordner. Ich habe diese Referenz angepasst und sie behoben.
Daniel Baughman

12

Ich bin auch mit diesem Fehler konfrontiert - ich habe vergessen, ein build.gradle-Skript für ein Bibliotheksprojekt zu erstellen.


10

Noch eine andere Ursache - Ich habe versucht, ein Modul in settings.gradle using aufzunehmen

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

Das einzige Problem war, dass ich gerade das Modul aus Eclipse importiert und vergessen hatte, das Verzeichnis außerhalb meines Anwendungsprojekts zu verschieben, dh der Pfad '../../MyModule'war nicht vorhanden.


Dies war mehr oder weniger auch mein Problem. Ich hatte eine zu viele ../auf dem Weg und sie zeigte nicht auf die richtige Stelle. Dies ist besonders schwer zu finden, da Android Studio / Gradle das Verzeichnis erstellt, wenn es nicht vorhanden ist. Anstatt einen einfachen Fehler mit der Aufschrift "Nein" zu werfen.
Joshua Pinter

7

Meine Lösung besteht darin, einfach eine Zeile aus der Datei settings.gradle zu entfernen, die ein Modul darstellt, das nicht vorhanden ist:

include ':somesdk'

und entfernen Sie auch die entsprechende Zeile aus dem build.gradle des Hauptprojekts:

compile project(':somesdk')

6

Ich hatte ein Git-Submodul-Problem, als ich diesen Fehler bekam. Versuchen Sie, gradle tasks --infoeine detailliertere Problembeschreibung zu erhalten. Ich habe es zuerst benutzt gradle tasks --debug, was bei weitem nicht so hilfreich war wie --info.


5

Angenommen, Sie möchten Ihrem Projekt eine Bibliothek (z. B. MyLib) hinzufügen. Gehen Sie folgendermaßen vor:

  1. Bereiten Sie Ihre Bibliothek als Gradle-Android-Bibliothek vor, wenn der Typ Ihrer Bibliothek Eclipse ADT ist
    Für diesen Job reicht es aus, sie in Android Studio zu importieren
  2. Kopieren Sie Ihren Bibliotheksordner, in diesem Fall den MyLib-Ordner, und fügen Sie ihn in Ihren Hauptprojektordner ein. Es wird empfohlen, einen neuen Ordner in Ihrem Hauptprojektordner zu erstellen und ihn als Bibliotheken zu bezeichnen
  3. Gehen Sie zu Android Studio und öffnen Sie die Datei Settings.gradle . Dort sollten Sie Ihre Bibliothek in Ihr Hauptprojekt aufnehmen. Zum Beispiel include ':MyPrj', 'Libraries:MyLib'. Hinweis : Das aktuelle Verzeichnis für diese include-Anweisung ist Ihr Hauptprojektordner. Wenn Sie Ihr Projekt in einen Ordner einfügen, müssen Sie dessen Adresse relativ zum Hauptprojektverzeichnis angeben. In meinem Fall füge ich MyLib in den Ordner Libraries ein . Diese Bibliotheken ist kein Schlüsselwort und Sie können andere Namen dafür auswählen
  4. Öffnen Sie Ihre Seite Projektstruktur ( Datei-> Projektstruktur ... ). Klicken Sie auf Module und dann auf Ihr Hauptprojekt. Gehen Sie zur Registerkarte Abhängigkeiten. Klicken Sie auf +und wählen Sie dann Modulabhängigkeit. Dort befinden sich Ihre Bibliotheken. Sie können sie nach Belieben auswählen

Hoffe es hilft


Um klar zu sein, gehen Sie zu github project sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library und überprüfen Sie dessen Struktur! Es gibt +altformatiges Android-Projekt build.gradle-Datei !! Vielen Dank, @ABFORCE +1
Deadfish

Dieser Beitrag hat mir beim Importieren von OpenCV4Android in Android Studio geholfen, daher werde ich für diese Methode bürgen.
Craig

5

In meinem Fall habe ich Gradle-Dateien verwendet, die unter Windows funktionieren, aber unter Linux fehlgeschlagen sind. Die include ':SomeProject'und compile project(':SomeProject')waren case sensitive und wurden nicht gefunden.


4

Für mich fehlte der Ordner, der unter settings.gradle deklariert wurde .


3

Auf den ersten Blick sieht alles gut aus, aber einige, die hier herumstöbern, haben eine Antwort gefunden, die hilfreich sein könnte: https://stackoverflow.com/a/16905808/7944

Selbst der ursprüngliche Antwortschreiber klingt nicht besonders zuversichtlich, aber es lohnt sich, dies weiterzuverfolgen. Außerdem haben Sie nichts über Ihre Verzeichnisstruktur gesagt, und ich gehe davon aus, dass es langweiliges Standardmaterial ist, kann es aber nicht sicher wissen.


2

Eine weitere mögliche Ursache für diesen genauen Fehler: Ich habe festgestellt, dass dieser Fehler durch Kommentieren einiger nicht verwendeter Bibliotheken im Abschnitt "build.gradle-Abhängigkeiten" behoben wurde. Stellen Sie sicher, dass diese und solche Pfade korrekt sind.

Ich würde mir Ihren Eintrag für das Kompilierungsprojekt (': android-ColorPickerPreference') in build.gradle genau ansehen - versuchen Sie, den zugehörigen Code und diese Zeile in build.gradle zu kommentieren, und prüfen Sie, ob dieser kompiliert wird Pfad- oder Bibliotheksproblem.


2

Ich hatte ein ähnliches Problem und fand eine sehr einfache Möglichkeit, dem Projekt eine Bibliothek hinzuzufügen.

  1. Erstellen Sie den Ordner "libs" im Stammverzeichnis Ihres Projekts.
  2. Kopieren Sie die JAR-Datei in diesen Ordner.
  3. Gehen Sie zurück zu Android Studio, suchen Sie Ihre JAR-Datei und klicken Sie mit der rechten Maustaste darauf. Wählen Sie "Als Bibliothek hinzufügen ...". Sie werden nur gefragt, zu welchem ​​Modul Sie sie hinzufügen möchten. Wählen Sie dann "App".

Jetzt können Sie in Ihrem "App" -Modul Klassen aus dieser JAR verwenden. Es kann "Import" -Deklarationen automatisch suchen und hinzufügen und in Ordnung kompilieren. Das einzige Problem könnte sein, dass es Abhängigkeiten mit absoluten Pfaden wie folgt hinzufügt.

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

in Ihrer "app / build.gradle".

Hoffentlich hilft das!


2

Ich habe dieses Problem gelöst, indem ich einige Pfade in settings.gradle wie unten gezeigt korrigiert habe:

include ':project-external-module'

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

Ich habe ein externes Modul in mein Projekt aufgenommen und hatte den falschen Weg dafür.


1

Ich hatte dieses Problem, als ich google-play-services_lib manuell in mein Projekt einfügte. Offensichtlich hatten Play-Services keine build.gradle-Datei. Ich habe gelernt, dass die Lösung darin besteht, diese Abhängigkeit in das build.gradle meines Projekts einzufügen (anstatt das Play-Services-Verzeichnis hart zu kopieren):

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

1

Wenn ich meine Bibliothek manuell importiere, hatte ich das gleiche Problem. Ich habe versucht, meine Bibliothek mit Datei> Importmodul hinzuzufügen, aber mein Problem wurde behoben.


1

In meinem Fall habe ich diesen Fehler erhalten, als ich den Modulnamen der Bibliothek (Abhängigkeit) in falsch geschrieben habe build.gradle Datei .

Denken Sie also daran, zu überprüfen, ob der Name des Moduls korrekt ist.

build.gradle

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

1

Ich bin kürzlich auf diesen Fehler gestoßen, als ich auf ein Projekt verwiesen habe, das über ein Git-Submodul initiiert wurde.

Am Ende stellte ich fest, dass auf die Root- build.gradleDatei des Submoduls (ein Java-Projekt) das Java-Plugin nicht auf Root-Ebene angewendet wurde.

Es hatte nur

apply plugin: 'idea'

Ich habe das Java-Plugin hinzugefügt:

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

Nachdem ich das Java-Plugin angewendet hatte, verschwand die Meldung "Standard nicht gefunden" und der Build war erfolgreich.


1

Überprüfen Sie außerdem, ob sich die Moduldateien in Ihrem Projekt befinden.

Zum Beispiel habe ich eine App, die das Volley-Modul verwendet. Während meiner Studien zur Android-Entwicklung habe ich versehentlich die Dateien entfernt, die sich im Verzeichnis "volley" befanden.

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

Ich habe gerade das Projekt geklont (siehe unten) und dann die Synchronisierung des Projekts in Android Studio (Extras> Android> Projekt mit Gradle-Dateien synchronisieren) durchgeführt und die Gradle-Erstellung normal abgeschlossen (Gradle-Konsole: untere rechte Ecke von 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

0

Ihr build.gradle für das Modul / die Bibliothek kann so einfach sein wie:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Wenn Ihr Modul nur eine Sammlung von .java POJO-Klassen ist.

Wenn es sich um Modell- / Entitätsklassen handelt und Sie Anmerkungen verwenden und einige Abhängigkeiten haben, können Sie diese hinzufügen in:

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

Dies geschieht, wenn Sie importierte oder kopierte Ordner / Projekte als Modul im Bibliotheksordner kompilieren. Dieses Problem trat auf, als ich die build.gradleDatei nicht einfügte. Als ich die Datei hinzufügte, ging alles gut.


0

Für mich stellte sich heraus, dass es sich um eine relative symbolische Verknüpfung (zum referenzierten Projekt) handelte, die von der Klasse nicht verwendet werden konnte. (Ich habe auf eine Bibliothek verwiesen). Das ist ein ziemlich nervöser Randfall, aber vielleicht hilft es jemandem in der Zukunft.

Ich habe es gelöst, indem ich einen absoluten symbolischen Link gesetzt habe.

Vorher ln -s ../librarynachherln -s /the/full/path/to/the/library


0

Ich hatte auch das gleiche Problem und es wurde behoben, indem ein Flag (gradle.ext.set ("allowLocalEdits", true)) in settings.xml in false geändert wurde.


0

Für mich existiert eine der abhängigen Bibliotheken nicht im richtigen Pfad, aber die Fehlermeldung zeigt DIESE Bibliothek nicht richtig an.

Was ich zum Beispiel vermisst habe, ist, :library-3aber der Fehler wirft auf :library-1.

armer Gradle.


-1

Versuchen Sie, die Volley-Bibliothek hinzuzufügen, zu synchronisieren und das Programm auszuführen. Wenn einer gezogen hat und ich Volley-Nutzung habe und der Fehler als -Android Studio Gradle-Konfiguration mit dem Namen 'Standard' nicht gefunden wird, folgen Sie dem Schritt des Hinzufügens der Volley-Bibliothek in Ihrem Gradle. ich hoffe es hilft. Ich habe mein Problem auf diese Weise gelöst.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.