web-dev-qa-db-fra.com

Android Studio Gradle Configuration avec le nom 'default' introuvable

Je ne parviens pas à 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.

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

181
Gyonder

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

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

Donc, il n'a pas réussi à trouver le fichier build.gradle de la bibliothèque. Reason est la structure du dossier.

C'était

-libraries
--volley
---VolleyLibrary

C'est supposé être

-libraries
--VolleyLibrary
82
guydemossyrock

J'ai oublié de tirer tous les sous-modules. Donc mon

compile project(':something')

ne pouvait pas être résolu.

Solution

git submodule update --init
60
passsy
compile fileTree(dir: '//you libraries location//', include: ['Android-ColorPickerPreference'])

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

compile project(':Android-ColorPickerPreference')

J'espère que ça aide

20
lokesh kumar

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

  • Accédez aux paramètres de votre sous-projet-module/bibliothèque-module. (presse F4 après avoir sélectionné le module)
  • Clic droit sur Ajouter> Android-Gradle.
  • Ajoutez build.gradle à votre module.
  • Ajouter 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 votre settings.gradle
19
Ahmad Ali Nasir

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

12
Viacheslav

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 que 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.

10
Magnus W

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

include ':somesdk'

et aussi supprimer la ligne correspondante du build.gradle du projet principal:

compile project(':somesdk')
7
Yisu Zhang

J'ai eu un problème de sous-module Git lors de l'obtention de cette erreur. Essayez d’exécuter gradle tasks --info pour 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.

6
Heinrisch

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 si votre type de 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 le dossier de votre projet principal. Il est recommandé de créer un nouveau dossier dans votre dossier de projet principal et de le nommer. Bibliothèques
  3. Allez dans 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'. Note: Le répertoire actuel de cette instruction include est votre dossier de projet principal. Si vous collez votre projet dans un dossier, vous devez mentionner son adresse par rapport au répertoire principal du projet. Dans mon cas, je colle MyLib dans le dossier Libraries. Ce nom Bibliothèques n'est pas un mot clé et vous pouvez choisir un autre nom.
  4. Ouvrez votre page de structure de projet (Fichier-> Structure de projet ...) cliquez sur les modules puis cliquez sur votre projet principal, allez sur 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 voulez

J'espère que ça aide

5
Hi I'm Frogatto

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

5
robUx4

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

4
SeungUn Ham

À première vue, tout semble aller pour le mieux, mais certains ont trouvé une réponse qui pourrait être utile: https://stackoverflow.com/a/16905808/7944

Même l'auteur de la réponse d'origine 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 votre répertoire et je suppose donc que c'est ennuyeux, mais je ne peux pas le savoir avec certitude.

3
Josh Gagnon

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'intégrais un module externe à mon projet et je n'avais pas le bon chemin.

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

Je regarderais de près votre entrée du projet de compilation (': Android-ColorPickerPreference') dans le build.gradle - essayez de commenter le code associé et cette ligne dans le fichier build.gradle et voyez si cela compile - puis continuez à partir du problème de chemin ou de bibliothèque.

2
RoundSparrow hilltx

J'ai eu le même problème 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. Retournez dans Android Studio, localisez votre fichier JAR et cliquez dessus avec le bouton droit de la souris, choisissez "Ajouter une bibliothèque ...". Il vous sera demandé à quel module vous souhaitez l'ajouter, choisissez bien "app". .

Désormais, dans votre module "app", vous pouvez utiliser les classes de ce fichier JAR. Il sera alors en mesure de localiser et d’ajouter automatiquement les déclarations "import" et de les compiler sans problème. Le seul problème est peut-être qu'il ajoute une dépendance avec un chemin absolu tel que:

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

dans votre "app/build.gradle".

J'espère que ça t'as aidé!

2
Yuriy Grinevich

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 fichier build.gradle.

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

build.gradle

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

Aussi ... vérifiez si vous avez les fichiers de module dans votre projet.

Par exemple, j'ai une application qui utilise le module Volley. Pendant mes études sur le développement de 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) et puis, j'ai fait la synchronisation du projet à Android Studio (Outils> Android> Synchroniser un projet avec des fichiers Gradle), et la construction de Gradle s'est terminée normalement (Console Gradle: coin inférieur droit de 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
1
ivanleoncz

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 fichier racine build.gradle du sous-module (un projet Java) n'avait pas le plug-in Java appliqué au niveau racine.

Il n'y avait que

apply plugin: 'idea'

J'ai ajouté le plugin Java:

apply plugin: 'idea'
apply plugin: 'Java'

Une fois que j'ai appliqué le plug-in Java, le message "défaut introuvable" a disparu et la construction a réussi.

1
Donn Felker

J'ai eu 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, ai-je appris, consiste à insérer cette dépendance dans le fichier build.gradle de mon projet (au lieu de copier en mode copie le répertoire play-services):

    compile 'com.google.Android.gms:play-services:4.0.+'
1
IgorGanapolsky

Quand j'importais ma bibliothèque manuellement, j'avais le même problème. J'ai essayé d'ajouter ma bibliothèque avec le module fichier> import et cela a résolu mon problème.

1
savepopulation

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

0
Kenan Begić

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

0
AVINASH SHRIMALI

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-3 mais l’erreur jette à :library-1.

mauvaise qualité.

0
Youngjae

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 .Java POJO.

Si ce sont des classes de modèle/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'
}
0
Baker

Pour moi, il s’est avéré qu’il s’agissait d’un lien symbolique relatif (au projet référencé) qui ne pouvait pas être utilisé par grade. (Je faisais référence à une bibliothèque). C’est un cas d’Edge assez edgy, mais peut-être que ça aidera quelqu'un dans le futur.

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

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

0
Langusten Gustel