Configuration de Gradle Android Studio avec le nom «par défaut» introuvable

181

Je rencontre des problèmes pour compiler mon application avec Android Studio (0.1.5). L'application utilise 2 bibliothèques que j'ai incluses comme suit:

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

Lors de la compilation, je reçois ce message:

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

Pouvez-vous m'aider avec ce message? Merci!

Gyonder
la source
5
les projets de bibliothèque déclarés dans settings.gradle ont-ils tous des fichiers build.gradle correctement configurés dans les racines du projet? aussi: library et: android-ColorPickerPreference doivent être dans les répertoires au même niveau dans votre structure de répertoire que votre fichier settings.gradle?
speedynomads
Ce problème s'est produit avec moi lorsque je n'avais pas de fichier build.gradle dans l'un de mes projets de bibliothèque. La création de ce fichier a fait disparaître l'erreur.
IgorGanapolsky
Dans mon cas, l'un de mes fichiers de configuration Gradle est manquant.Il n'est pas correctement poussé.
Zar E Ahmer
comment créer un fichier gradle.build .. je suis également confronté au même problème?

Réponses:

82

Dans mon cas, après la compilation avec gradle tasks --info, le journal était là:

Évaluation du projet ': bibliothèques: VolleyLibrary' à l'aide d'un fichier de construction vide.

Il n'a donc pas réussi à trouver le fichier build.gradle de la bibliothèque. La raison est la structure des dossiers.

C'était

-libraries
--volley
---VolleyLibrary

C'est supposé être

-libraries
--VolleyLibrary
guydemossyrock
la source
Comment l'avez-vous fait évaluer ': bibliothèques: VolleyLibrary'? À quoi ressemble cette ligne dans votre fichier build.gradle?
IgorGanapolsky
dependencies {compile ': bibliothèques: VolleyLibrary'} Cela devrait être quelque chose comme ça et rien de plus.
guydemossyrock
1
Selon votre exemple de code ci-dessus,: Les bibliothèques doivent être en majuscules.
IgorGanapolsky
3
Comment compilez-vous avec "gradle tasks --info"?
toddmo
8
./gradlew tasks --infocela montrera les informations de toutes les tâches. Je pense que ce serait utile pour découvrir ce qui ne va pas.
srain
60

J'ai oublié de retirer tous les sous-modules. Alors mon

compile project(':something')

n'a pas pu être résolu.

Solution

git submodule update --init
passsy
la source
2
Veuillez expliquer sur quel dossier dois-je exécuter cette commande - dossier de projet ou dossier de sous-module
Ajith Memana
1
celui-ci devrait être une réponse acceptée. un message d'erreur trompeur dans la plupart des cas signifie que vous avez oublié de cloner des sous
vigilancer
1
Dans mon cas, j'ai oublié de supprimer le sous-module du fichier settings.gradle. Donc sois prudent! : D
Yaroslav Havrylovych
20
compile fileTree(dir: '//you libraries location//', include: ['android-ColorPickerPreference'])

Utilisez la ligne ci-dessus dans le fichier gradle de votre application au lieu de

compile project(':android-ColorPickerPreference')

J'espère que ça aide

Lokesh Kumar
la source
19

La procédure suivante a résolu mon problème:

  • Accédez aux paramètres de votre module de sous-projet / module de bibliothèque. (appuyez F4après avoir sélectionné le module)
  • Cliquez avec le bouton droit sur Ajouter> Android-Gradle .
  • Ajoutez build.gradle à votre module.
  • Ajoutez le script suivant

    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. ajoutez include ':yourModuleName'dans vos paramètres.
Ahmad Ali Nasir
la source
Lorsque je sélectionne les paramètres du module de projet de bibliothèque, ce n'est pas une option et f4 ne fait rien.
Daniel Baughman
1
@DanielBaughman veuillez clarifier votre requête, mais au cas où vous ne parvenez toujours pas à trouver les paramètres du module, vous pouvez faire 2 choses: 1) Allez dans Fichier> Importer le module et suivez les étapes, Android Studio ajoutera automatiquement le fichier build.gradle et ajoutez également les dépendances. 2) Ajoutez manuellement le fichier build.grade, écrivez-y le script et votre problème sera résolu.
Ahmad Ali Nasir
1
Merci de votre aide. Ce que j'avais fait, c'est en fait mettre le dossier que j'importais dans le projet - importé le module, puis, dans les propriétés de mon projet, référencé le module source que j'avais ciblé pour être importé en tant que bibliothèque au lieu du nouveau dossier de module qu'il a créé. J'ai ajusté cette référence et cela l'a corrigée.
Daniel Baughman
12

J'ai également rencontré cette erreur - j'ai oublié de créer le script build.gradle pour le projet de bibliothèque.

Viacheslav
la source
10

Encore une autre cause - j'essayais d'inclure un module dans settings.gradle en utilisant

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

Le seul problème était que je venais d'importer le module d'Eclipse et j'avais oublié de déplacer le répertoire en dehors de mon projet d'application, c'est-à-dire que le chemin '../../MyModule'n'existait pas.

Magnus W
la source
C'était plus ou moins mon problème aussi. J'en avais un de trop ../sur le chemin et il n'indiquait pas le bon endroit. C'est particulièrement difficile à retrouver car Android Studio / Gradle créera le répertoire s'il n'existe pas. Au lieu de lancer une simple erreur en disant «Non».
Joshua Pinter
7

Ma solution est de supprimer simplement une ligne du fichier settings.gradle, qui représente un module qui n'existe pas:

include ':somesdk'

et supprimez également la ligne correspondante du build.gradle du projet principal:

compile project(':somesdk')
Yisu Zhang
la source
6

J'ai eu un problème de sous-module git en obtenant cette erreur. Essayez de courir gradle tasks --infopour une description plus détaillée du problème. J'ai d'abord utilisé gradle tasks --debug, ce qui n'était pas aussi utile que --info.

Heinrisch
la source
5

Supposons que vous souhaitiez ajouter une bibliothèque (par exemple MyLib) à votre projet, vous devez suivre ces étapes:

  1. Préparez votre bibliothèque en tant que bibliothèque Android gradle si le type de votre bibliothèque est Eclipse ADT
    Pour ce travail, il suffit de l'importer dans Android Studio
  2. Copiez votre dossier de bibliothèque, dans ce cas le dossier MyLib, et collez-le dans votre dossier de projet principal. C'est une bonne pratique de créer un nouveau dossier dans votre dossier de projet principal et de le nommer Bibliothèques
  3. Accédez à Android Studio et ouvrez le fichier Settings.gradle , vous devez y inclure votre bibliothèque dans votre projet principal. Par exemple include ':MyPrj', 'Libraries:MyLib'. Remarque : le répertoire actuel de cette instruction d'inclusion est votre dossier de projet principal. Si vous collez votre projet dans un dossier, vous devez mentionner son adresse relative au répertoire principal du projet. Dans mon cas, je colle MyLib dans le dossier Bibliothèques . Ce nom de bibliothèques n'est pas un mot-clé et vous pouvez en choisir d'autres
  4. Ouvrez votre page Structure de projet ( Fichier-> Structure de projet ... ) cliquez sur les modules puis cliquez sur votre projet principal allez dans l'onglet dépendances cliquez sur +puis choisissez Dépendance de module et il y a vos bibliothèques et vous pouvez les sélectionner comme vous le souhaitez

J'espère que ça aide

grenouille
la source
pour être clair, allez sur le projet github sliding-menu github.com/jfeinstein10/SlidingMenu/tree/master/library et vérifiez sa structure! Il existe un ancien +fichier de projet android de format build.gradle !! Merci, @ABFORCE +1
deadfish
Cet article m'a aidé à importer OpenCV4Android dans Android Studio, je me porte donc garant de cette méthode.
Craig
5

Dans mon cas, j'utilisais des fichiers Gradle qui fonctionnent sous Windows mais qui ont échoué sous Linux. Les include ':SomeProject'et compile project(':SomeProject')étaient sensibles à la casse et n'ont pas été trouvés.

robUx4
la source
4

Pour moi, il manquait un dossier qui a été déclaré sous settings.gradle .

Steve Ham
la source
3

Tout a l'air bien à première vue, mais certains ont trouvé une réponse qui pourrait être utile: https://stackoverflow.com/a/16905808/7944

Même le rédacteur de la réponse originale ne semble pas très confiant, mais cela vaut la peine de faire un suivi. De plus, vous n'avez rien dit sur la structure de vos répertoires et je suppose donc que c'est ennuyeux par défaut, mais je ne peux pas le savoir avec certitude.

Josh Gagnon
la source
2

Une autre cause potentielle de cette erreur précise: j'ai trouvé que cette erreur avait été résolue en commentant certaines bibliothèques inutilisées dans la section des dépendances de build.gradle. Assurez-vous que ces chemins et autres sont tous corrects.

Je regarderais de très près l'entrée de votre projet de compilation (': android-ColorPickerPreference') dans build.gradle - essayez de commenter le code associé et cette ligne dans build.gradle et voyez si cela compile - puis résolvez le problème de chemin ou de bibliothèque.

RoundSparrow hilltx
la source
2

J'ai eu un problème similaire et j'ai trouvé un moyen très simple d'ajouter une bibliothèque au projet.

  1. Créez le dossier "libs" à la racine de votre projet.
  2. Copiez le fichier JAR dans ce dossier.
  3. Revenez dans Android Studio, localisez votre fichier JAR et faites un clic droit dessus, choisissez "Ajouter en tant que bibliothèque ...", il vous demandera uniquement dans quel module vous souhaitez l'ajouter, bien choisissez "app".

Maintenant, dans votre module "app", vous pouvez utiliser les classes de ce JAR, il sera capable de localiser et d'ajouter automatiquement des déclarations "import" et de les compiler correctement. Le seul problème pourrait être qu'il ajoute une dépendance avec un chemin absolu comme:

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

dans votre "app / build.gradle".

J'espère que cela pourra aider!

Yuriy Grinevich
la source
2

J'ai résolu ce problème en corrigeant certains chemins dans settings.gradle comme indiqué ci-dessous:

include ':project-external-module'

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

J'incluais un module externe à mon projet et je n'avais pas le bon chemin.

Bogdan Emil Mariesan
la source
1

J'ai rencontré ce problème lorsque j'ai collé manuellement google-play-services_lib dans mon projet. De toute évidence, les services de jeu ne contenaient pas de fichier build.gradle. La solution, j'ai appris, est de mettre cette dépendance dans build.gradle de mon projet (au lieu de copier en dur le répertoire play-services):

    compile 'com.google.android.gms:play-services:4.0.+'
IgorGanapolsky
la source
1

Lorsque j'importe ma bibliothèque manuellement, j'ai eu le même problème. J'ai essayé d'ajouter ma bibliothèque avec fichier> module d'importation et cela a résolu mon problème.

enregistrer la population
la source
1

Dans mon cas, j'ai reçu cette erreur lorsque j'ai mal orthographié le nom du module de la bibliothèque (dépendance) dans le build.gradlefichier.

Pensez donc à vérifier si le nom du module est correct.

build.gradle

dependencies {
    compile project(':module-name-of-the-library')
}
vovahost
la source
1

J'ai récemment rencontré cette erreur lorsque j'ai référencé un projet initié via un sous-module git.

J'ai fini par découvrir que le build.gradlefichier racine du sous-module (un projet java) n'avait pas le plugin java appliqué au niveau racine.

Il n'avait que

apply plugin: 'idea'

J'ai ajouté le plugin java:

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

Une fois que j'ai appliqué le plugin java, le message «default not found» a disparu et la construction a réussi.

Donn Felker
la source
1

Vérifiez également si vous avez les fichiers du module dans votre projet.

Par exemple, j'ai une application qui utilise le module Volley. Au cours de mes études sur le développement Android, j'ai accidentellement supprimé les fichiers qui se trouvaient dans le répertoire "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 ../

Je viens de cloner le projet (voir ci-dessous) , puis j'ai fait la synchronisation du projet sur Android Studio (Outils> Android> Synchroniser le projet avec les fichiers Gradle) , et la construction Gradle s'est terminée normalement (Gradle Console: coin inférieur droit d'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
la source
0

Votre build.gradle pour le module / bibliothèque pourrait être aussi simple que:

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Si votre module est juste une collection de classes POJO .java.

S'il s'agit de classes de modèle / d'entité et que vous utilisez des annotations et que vous avez des dépendances, vous pouvez les ajouter dans:

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'
}
boulanger
la source
0

Cela se produit lorsque vous compilez un dossier / projet importé ou copié en tant que module dans le dossier des bibliothèques. Ce problème se posait lorsque je n'incluais pas le build.gradlefichier. quand j'ai ajouté le fichier, tout s'est très bien passé.

Kenan Begić
la source
0

Pour moi, il s'est avéré être un lien symbolique relatif (vers le projet référencé) qui ne pouvait pas être utilisé par note. (Je faisais référence à une bibliothèque). C'est un cas plutôt énervé, mais peut-être que cela aide quelqu'un à l'avenir.

Je l'ai résolu en mettant un lien symbolique absolu.

Avant ln -s ../libraryaprèsln -s /the/full/path/to/the/library

Langusten Gustel
la source
0

J'ai également rencontré le même problème et il a été résolu en changeant un indicateur (gradle.ext.set ("allowLocalEdits", true)) en false dans settings.xml.

AVINASH SHRIMALI
la source
0

Pour moi, l'une des bibliothèques dépendantes n'existe pas dans le chemin correct, mais le message d'erreur ne pointe pas correctement cette bibliothèque.

Par exemple, ce que j'ai manqué, c'est :library-3que l'erreur se produit :library-1.

pauvre gradle.

Youngjae
la source
-1

Essayez d'ajouter la bibliothèque Volley et synchronisez et exécutez le programme. si l'un d'entre eux a tiré et que j'ai une utilisation de volley et que l'erreur apparaît comme -Android Studio Gradle Configuration avec le nom 'default' introuvable, suivez l'étape d'ajout de la bibliothèque de volley dans votre gradle. J'espère que ça aide. J'ai résolu mon problème de cette façon.

Sayyaf
la source