Erreur: configuration avec le nom "par défaut" introuvable dans Android Studio

117

J'utilise la bibliothèque volley pour effectuer des opérations réseau sous Android. J'essaie donc d'ajouter cette bibliothèque à mon projet qui est créée dans Android Studio et dans le système gradle.

J'ai ajouté la bibliothèque de volley dans mon projet, mais lorsque je synchronise avec gradle, je reçois un message d'erreur. J'ai essayé toutes les réponses que je vois ici mais rien n'a fonctionné pour moi.

Message d'erreur : Configuration avec le nom "par défaut" introuvable dans Android Studio

Volley / build.gradle

apply plugin: 'android-library'

android {

    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    sourceSets {
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
        }

        main {
            assets.srcDirs       = ['assets']
            res.srcDirs          = ['res']
            aidl.srcDirs         = ['src']
            resources.srcDirs    = ['src']
            renderscript.srcDirs = ['src']
            java.srcDirs         = ['src']
            manifest.srcFile 'AndroidManifest.xml'

        }
    }
}

app / build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile project(':library:volley')
}

root / build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.1'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

settings.gradle

include ':app'
include ':library:volley'
Bot
la source
Avez-vous ajouté le dossier de bibliothèque à l'emplacement correct comme nom de projet / bibliothèque?
Ajay S
J'ai ajouté le répertoire de la bibliothèque dans le répertoire de l'application
Bot
1
Dans mon cas, l'un de mes fichiers de configuration gradle est manquant.Il n'est pas correctement poussé.
Zar E Ahmer

Réponses:

68

Ajoutez votre dossier de bibliothèque à l'emplacement racine de votre projet et copiez-y tous les fichiers de bibliothèque. Par exemple, votre projet / bibliothèque, puis synchronisez-le et reposez les choses me semble OK.

Ajay S
la source
5
Cela peut également signifier que le fichier build.gradle ou les fichiers .iml sont manquants dans les répertoires de la bibliothèque
WKS
7
@aleb pour obtenir message d'erreur complet il vous suffit de lancer la commande du terminal: ./gradlew assembleDebug. Vous pouvez le faire depuis Android Studioou depuis une application de terminal externe.
onze
Pouvez-vous publier des exemples et des photos? merci, car cette méthode ne fonctionne pas
Merci mon pote qui m'a sauvé la journée. Merci <3
Gufran Khurshid
1
Cela m'a amené à réaliser que je manquais mes sous-modules, ce qui est plus explicitement développé par la réponse de @ ViliusK.
Ionoclast Brigham le
96

Essayer:

git submodule init
git submodule update
ViliusK
la source
1
Cela fonctionne certainement pour les bibliothèques ajoutées en tant que sous-module, merci!
Arne
@Vilius, à partir de quel répertoire dois-je l'exécuter dans Terminal? J'ai essayé de l'exécuter dans mon répertoire de projet, mais cela dit Not a git repository (or any of the parent directories). J'ai un exemple d'application que j'ai essayé d'importer, et il n'a pas été configuré pour gradle, ils l'ont donc emballé. Je me demande si cela fait partie du problème. En fait, je n'ai même pas de settings.gradledossier. Seulement build.gradleet quelques autres.
Azurespot
2
Vous devez exécuter à partir du répertoire racine du projet. Ce devrait être un projet de git repo. Et ce devrait être un projet avec des sous-projets. Recherchez dans le build.gradlefichier quelque chose commecompile project(':libs:my-custom:library')
ViliusK
1
> Un sous-module vous permet de conserver un autre référentiel Git dans un sous-répertoire de votre référentiel. L'autre référentiel a sa propre histoire, qui n'interfère pas avec l'historique du référentiel actuel. Cela peut être utilisé pour avoir des dépendances externes telles que des bibliothèques tierces par exemple. source
ViliusK
3
Comment le sous-module git a-t-il quelque chose à voir avec l'erreur de construction de gradle?
teddy
22

C'est probablement un cas rare, mais pour moi, une bibliothèque qui était incluse dans settings.gradle n'était pas là.

Par exemple, j'avais: include ':libraries:Android-RateThisApp:library'dans mes paramètres.

mais le dossier Android-RateThisApp était vide. Dès que j'ai vérifié ce sous-module, la synchronisation des gradins a réussi.

alexgophermix
la source
Oui, vous avez probablement dû git submodule initet git submodule update. C'est un cas courant lors de l'extraction d'un projet avec des sous-modules.
ViliusK
pas rare du tout .... c'est le cas pour moi avec cette erreur sorta..ALOT du temps.
sirvon
Ce fut le cas pour moi! Mise à jour des cartes
react
14

Si vous souhaitez utiliser le même dossier de bibliothèque pour plusieurs projets, vous pouvez le référencer dans gradle vers un emplacement externe comme celui-ci:

settings.gradle:

include 'app', ':volley'
project(':volley').projectDir = new File('../libraries/volley')

dans votre application build.gradle

dependencies {
    ...
    compile project(':volley')
...}
Björn Kechel
la source
Cela a fonctionné pour moi lorsque j'avais un projet entier en tant que sous-module, mais je voulais uniquement utiliser le module de bibliothèque de ce projet (et exclure l'exemple d'application).
phreakhead
6

Je suis également confronté à ce problème mais je suis les étapes suivantes: - 1) J'ajoute le module (Bibliothèque) à un nom de dossier particulier ThirdPartyLib

Pour résoudre ce problème, je vais dans settings.gradle plutôt que d'ajouter simplement suivant: -

project (':'). projectDir = nouveau fichier ('ThirdPartyLib /')

: - est le nom du module ...

sharma_kunal
la source
3

Pour diagnostiquer cette erreur, passez rapidement sur un terminal ou utilisez le terminal intégré à Android Studio (accessible sur dans la barre d'état inférieure). Accédez au répertoire principal de votre PROJET (où settings.gradlese trouve).

1.) Assurez-vous que vous settings.gradleincluez le sous-projet. Quelque chose comme ça. Cela garantit que votre build multi-projets connaît votre sous-projet de bibliothèque.

include ':apps:App1', ':apps:App2', ':library:Lib1'

Où le texte entre les deux-points sont des sous-répertoires.

2.) Exécutez la commande gradle suivante pour voir si Gradle peut vous donner une liste de tâches pour la bibliothèque. Utilisez le même qualificatif dans la settings.gradledéfinition. Cela découvrira les problèmes avec le script de construction de la bibliothèque de manière isolée.

./gradlew :library:Lib1:tasks --info

3.) Assurez-vous que la sortie de la dernière étape a répertorié une tâche "assembleDefault". S'il ne s'assure pas que la bibliothèque inclut le plugin Android Library dans build.gradle. Comme ça tout en haut.

apply plugin: 'com.android.library'

Je sais que la question de l'affiche originale a reçu une réponse, mais je crois que la réponse a évolué au cours de la dernière année et je pense qu'il y a plusieurs raisons à l'erreur. Je pense que ce flux de résolution devrait aider ceux qui rencontrent les différents problèmes.

PaulR
la source
3

Vérifiez le settings.gradlefichier. Les modules inclus peuvent être manquants ou dans un autre répertoire. Par exemple, avec la ligne ci-dessous settings.gradle, gradle recherche le common-libmodule dans le répertoire de votre projet:

include ':common-lib'

S'il manque, vous pouvez trouver et copier ce module dans votre projet ou référencer son chemin dans le settings.gradlefichier:

include ':common-lib'
project(':common-lib').projectDir = new File('<path to your module i.e. C://Libraries/common-lib>') // 
Devrim
la source
0

Pour moi, (selon certains commentaires que j'ai vus), le problème était que gradle ne pouvait pas trouver le build.gradle pour la bibliothèque importée. Cette configuration est simple mais le message d'erreur est un peu cryptique. Par exemple, j'utilisais le projet android-map-utils et j'ai dû l'inclure dans mes paramètres.gradle en ajoutant ces 2 lignes comme ceci.

include ':android-map-utils'
project(':android-map-utils').projectDir = new File(settingsDir, '..\\..\\modules\\android-maps-utils-master\\library')

Le chemin de la bibliothèque est relatif au fichier settings.gradle de mon projet. Ensuite, je l'ai simplement référencé dans mes dépendances du fichier build.gradle de mon application comme ceci

...

    dependencies {
    ....
        compile project(':android-map-utils')
    ....

    }

Je recommande d'importer un module à la fois, de le compiler et de le vérifier.

en colère
la source
0

Si vous supposez que vous avez repéré cette erreur après avoir supprimé certains modules de nœuds, idéalement ne devrait pas être présente la bibliothèque sous build.gradle (Module: app). Il peut être supprimé manuellement et synchroniser à nouveau le projet.

deva11
la source
0

J'ai également rencontré le même problème et le problème était que les bibliothèques manquaient dans certains des fichiers suivants.

settings.gradle, app / build.gradle, package.json, MainApplication.java

Supposons que la bibliothèque soit react-native-vector-icons, alors elle devrait être mentionnée dans les fichiers suivants;

Dans le fichier app / build.gradle sous la section des dépendances, ajoutez:

projet de compilation (': react-native-vector-icons')

Dans le fichier settings.gradle sous le dossier android, ajoutez ce qui suit:

inclure ': react-native-vector-icons' project (': react-native-vector-icons'). projectDir = new File (rootProject.projectDir, '../node_modules/react-native-vector-icons/android' )

Dans MainApplication.java, ajoutez ce qui suit:

Importez la dépendance: import com.oblador.vectoricons.VectorIconsPackage;

puis ajoutez: new VectorIconsPackage () dans la méthode getPackages ().

gbhati
la source
0

La suppression de quelques dépendances natives de réaction a résolu le problème

En supprimant ces lignes, le problème est résolu. Cette ligne est créée par le lien rnpm mais est un bug.

compile project(':react-native-gps')
compile project(':react-native-maps')
HimalayanCoder
la source