Configurazione di Android Studio Gradle con nome "predefinito" non trovato


181

Ho problemi a compilare la mia app con Android Studio (0.1.5). L'app utilizza 2 librerie che ho incluso come segue:

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

Durante la compilazione ricevo questo messaggio:

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

Potresti aiutarmi con questo messaggio? Grazie!


5
i progetti di libreria dichiarati in settings.gradle hanno tutti i file build.gradle correttamente configurati nelle radici del progetto? anche: library e: android-ColorPickerPreference devono essere nelle directory allo stesso livello nella struttura della directory del file settings.gradle?
speedynomads

Questo problema si è verificato con me quando non avevo un file build.gradle in uno dei miei progetti di libreria. La creazione di questo file ha fatto scomparire l'errore.
IgorGanapolsky,

Nel mio caso manca uno dei miei file di configurazione Gradle, che non viene inserito correttamente.
Zar E Ahmer,

come creare il file gradle.build .. anche io sto affrontando lo stesso problema?

Risposte:


82

Nel mio caso, dopo aver compilato gradle tasks --info, il registro era lì:

Progetto di valutazione ': librerie: VolleyLibrary' usando un file di build vuoto.

Quindi non è stato possibile trovare il file build.gradle della libreria. Il motivo è la struttura delle cartelle.

Era

-libraries
--volley
---VolleyLibrary

Dovrebbe essere

-libraries
--VolleyLibrary

Come sei riuscito a valutare ': librerie: VolleyLibrary'? Come appare quella linea nel tuo file build.gradle?
IgorGanapolsky,

dependencies {compile ': libraries: VolleyLibrary'} Dovrebbe essere qualcosa del genere e niente di più.
guydemossyrock,

1
Secondo l'esempio di codice sopra riportato: Le librerie devono essere in maiuscolo.
IgorGanapolsky,

3
Come si compila con "compiti gradle --info"?
toddmo

8
./gradlew tasks --infoquesto mostrerà le informazioni di tutte le attività. Penso che ciò sarebbe utile per scoprire cosa non va.
srain

60

Ho dimenticato di estrarre tutti i sottomoduli. Così il mio

compile project(':something')

non può essere risolto.

Soluzione

git submodule update --init

2
Spiegare in quale cartella devo eseguire questo comando - cartella del progetto o cartella del sottomodulo
Ajith Memana,

1
questa dovrebbe essere una risposta accettata. messaggio di errore fuorviante nella maggior parte dei casi significa che hai dimenticato di clonare i sottomoduli
vigilante

1
Nel mio caso ho dimenticato di rimuovere il sottomodulo dal file settings.gradle. Perciò stai attento! : D
Yaroslav Havrylovych

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

Usa la riga sopra nel file gradle della tua app anziché

compile project(':android-ColorPickerPreference')

Spero che sia d'aiuto


19

La seguente procedura ha risolto il mio problema:

  • Vai alle impostazioni del tuo sotto-progetto / modulo-libreria. (premere F4dopo aver selezionato il modulo)
  • Fare clic destro su Aggiungi> Grado Android .
  • Aggiungi build.gradle al tuo modulo.
  • Aggiungi il seguente script

    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. aggiungi il include ':yourModuleName'tuo settings.gradle

Quando seleziono le impostazioni del modulo di progetto della libreria non è un'opzione e f4 non fa nulla.
Daniel Baughman,

1
@DanielBaughman chiarisci la tua richiesta, ma nel caso in cui non riesci ancora a trovare le impostazioni del modulo, puoi fare 2 cose: 1) Vai su File> Importa modulo e segui i passaggi, Android Studio aggiungerà automaticamente il file build.gradle e aggiungere anche le dipendenze. 2) Aggiungi manualmente il file build.grade, scrivi lo script e il tuo problema verrà risolto.
Ahmad Ali Nasir,

1
Grazie per l'aiuto. Quello che ho fatto è stato in realtà inserire la cartella che stavo importando nel progetto: importare il modulo e quindi, nelle proprietà del mio progetto, fare riferimento al modulo di origine che avevo scelto di importare come libreria invece della nuova cartella del modulo che ha creato. Ho adattato quel riferimento e lo ha riparato.
Daniel Baughman,

12

Ho anche riscontrato questo errore: ho dimenticato di creare lo script build.gradle per il progetto della libreria.


10

Ancora un'altra causa - Stavo cercando di includere un modulo in settings.gradle usando

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

L'unico problema era che avevo appena importato il modulo da Eclipse e mi ero dimenticato di spostare la directory fuori dal mio progetto applicativo, cioè il percorso '../../MyModule'non esisteva.


Questo era più o meno anche il mio problema. Ne avevo uno in più ../nel percorso e non indicava il posto giusto. Questo è particolarmente difficile da rintracciare perché Android Studio / Gradle creerà la directory se non esiste. Invece di lanciare un semplice errore che dice "No".
Joshua Pinter

7

La mia soluzione è semplicemente rimuovere una riga dal file settings.gradle, che rappresenta un modulo che non esiste:

include ':somesdk'

e rimuovere anche la riga corrispondente dal build.gradle del progetto principale:

compile project(':somesdk')

6

Ho avuto un problema con il sottomodulo git quando ho riscontrato questo errore. Prova a correre gradle tasks --infoper una descrizione più dettagliata del problema. Ho usato per la prima volta gradle tasks --debug, il che non è stato così utile come --info.


5

Supponendo di voler aggiungere una libreria (ad esempio MyLib) al progetto, è necessario attenersi alla seguente procedura:

  1. Prepara la tua libreria come una graduale libreria Android se il tuo tipo di libreria è Eclipse ADT
    Per questo lavoro è sufficiente importarlo in Android Studio
  2. Copia la cartella della libreria, in questo caso la cartella MyLib, e incollala nella cartella principale del progetto. È buona norma creare una nuova cartella nella cartella principale del progetto e denominarla Librerie
  3. Vai su Android Studio e apri il file Settings.gradle , lì dovresti includere la tua libreria nel tuo progetto principale. Per esempio include ':MyPrj', 'Libraries:MyLib'. Nota : la directory corrente per questa istruzione include è la cartella principale del progetto. Se si incolla il progetto in una cartella, è necessario menzionare l'indirizzo relativo alla directory principale del progetto. Nel mio caso incollo MyLib nella cartella Librerie . Questo nome di Librerie non è una parola chiave e puoi sceglierne altri
  4. Apri la pagina Struttura del progetto ( File-> Struttura del progetto ... ) fai clic sui moduli quindi fai clic sul tuo progetto principale vai alla scheda Dipendenze fai clic su +quindi scegli Dipendenza modulo e ci sono le tue librerie e puoi selezionarle come vuoi

Spero che sia d'aiuto


per essere chiari, vai al progetto github sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library e controlla la sua struttura! Esiste un vecchio +file di progetto Android build.gradle di formato !! Grazie, @ABFORCE +1
pesce morto

Questo post mi ha aiutato a importare OpenCV4Android in Android Studio, quindi garantirò questo metodo.
Craig,

5

Nel mio caso stavo usando i file Gradle che funzionano su Windows ma non sono riusciti su Linux. I include ':SomeProject'e compile project(':SomeProject')sono stati case sensitive e non sono stati trovati.


4

Per me mancava la cartella dichiarata in settings.gradle .


3

All'inizio sembra tutto a posto, ma alcuni frugando qui hanno trovato una risposta che potrebbe essere utile: https://stackoverflow.com/a/16905808/7944

Anche lo scrittore di risposte originale non sembra molto fiducioso, ma vale la pena seguirlo. Inoltre, non hai detto nulla sulla tua struttura di directory e quindi presumo che sia roba predefinita noiosa, ma non posso saperlo con certezza.


2

Un'altra potenziale causa di questo preciso errore: ho scoperto che l'errore è stato risolto commentando alcune librerie inutilizzate nella sezione delle dipendenze build.gradle. Assicurarsi che questi percorsi e quelli siano tutti corretti.

Osserverei da vicino la voce del tuo progetto di compilazione (': android-ColorPickerPreference') in build.gradle - prova a commentare il codice correlato e questa riga in build.gradle e vedo se si compila - quindi vai da lì risolvendo il problema di percorso o libreria.


2

Ho avuto un problema simile e ho trovato un modo molto semplice per aggiungere una libreria al progetto.

  1. Crea la cartella "libs" nella radice del tuo progetto.
  2. Copia il file JAR in quella cartella.
  3. Torna su Android Studio, trova il tuo file JAR e fai clic con il pulsante destro del mouse, scegli "Aggiungi come libreria ...", ti chiederà solo a quale modulo desideri aggiungerlo, quindi scegli "app".

Ora nel modulo "app" è possibile utilizzare le classi da quel JAR, sarà in grado di individuare e aggiungere automaticamente le dichiarazioni "import" e compilarle. L'unico problema potrebbe essere che aggiunge dipendenza con percorso assoluto come:

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

nella tua "app / build.gradle".

Spero che aiuti!


2

Ho risolto questo problema correggendo alcuni percorsi in settings.gradle come mostrato di seguito:

include ':project-external-module'

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

Stavo includendo un modulo esterno nel mio progetto e avevo un percorso sbagliato.


1

Ho riscontrato questo problema quando ho incollato manualmente google-play-services_lib nel mio progetto. Ovviamente, play-services non conteneva un file build.gradle. La soluzione, ho imparato, è quella di mettere questa dipendenza nel build.gradle del mio progetto (invece di copiare la directory play-services):

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

1

Quando ho importato la mia libreria manualmente ho avuto lo stesso problema. Ho provato ad aggiungere la mia libreria con il modulo file> import e ho risolto il mio problema.


1

Nel mio caso ho ricevuto questo errore quando ho sbagliato l'ortografia del nome del modulo della libreria (dipendenza) nel build.gradlefile.

Quindi ricorda di verificare se il nome del modulo è corretto.

build.gradle

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

1

Di recente ho riscontrato questo errore quando ho fatto riferimento a un progetto avviato tramite un sottomodulo git.

Ho finito per scoprire che il build.gradlefile root del sottomodulo (un progetto java) non aveva il plugin java applicato a livello di root.

Aveva solo

apply plugin: 'idea'

Ho aggiunto il plug-in Java:

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

Una volta applicato il plug-in Java, il messaggio "predefinito non trovato" è scomparso e la compilazione è riuscita.


1

Inoltre ... controlla se hai i file del modulo all'interno del tuo progetto.

Ad esempio, ho un'app che utilizza il modulo Volley. Durante i miei studi sullo sviluppo di Android, ho rimosso per errore i file che si trovavano nella directory "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 ../

Ho appena clonato il progetto (vedi sotto) e poi ho fatto la sincronizzazione del progetto su Android Studio (Strumenti> Android> Sincronizza progetto con file Gradle) e la compilazione Gradle è stata completata normalmente (Gradle Console: angolo in basso a destra di 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

Il tuo build.gradle per il modulo / libreria potrebbe essere semplice come:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Se il tuo modulo è solo una raccolta di classi POJO .java.

Se si tratta di classi modello / entità e stai utilizzando le annotazioni e hai delle dipendenze, puoi aggiungerle 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

Ciò accade quando si compilano cartelle / progetti importati o copiati come modulo nella cartella librerie. Questo problema stava sorgendo quando non includevo il build.gradlefile. quando ho aggiunto il file è andato tutto bene.


0

Per me si è rivelato essere un collegamento simbolico relativo (al progetto di riferimento) che non poteva essere utilizzato per voto. (Mi riferivo a una biblioteca). Questo è un caso piuttosto spigoloso, ma forse aiuta qualcuno in futuro.

L'ho risolto inserendo un collegamento simbolico assoluto.

Prima ln -s ../librarydopoln -s /the/full/path/to/the/library


0

Ho anche affrontato lo stesso problema e si è risolto cambiando un flag (gradle.ext.set ("allowLocalEdits", true)) su false in settings.xml.


0

Per me, una delle librerie dipendenti non esiste nel percorso corretto, ma il messaggio di errore non indica quella libreria correttamente.

Ad esempio, quello che mi sono perso è :library-3che l'errore viene generato :library-1.

scarso grado.


-1

Prova ad aggiungere la libreria Volley e sincronizzare ed eseguire il programma. se uno ha estratto e ho l'uso del volley e l'errore appare come -Android Studio Gradle Configuration con nome 'default' non trovato, segui il passaggio per aggiungere la libreria volley nel tuo gradle. spero che sia d'aiuto. Ho risolto il mio problema in questo modo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.