Erreur: (1, 0) Plugin avec l'ID 'com.android.application' introuvable

303

Ceci est ma première tentative sur Android Studio. J'ai installé 0.8.0 et mis à jour vers 0.8.2. Dès qu'un projet est créé, j'obtiens le message d'erreur:

Erreur: (1, 0) Plugin avec l'ID 'com.android.application' introuvable

C: \ Users \ Bob \ AndroidStudioProjects \ HelloAgain6 \ app \ build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.example.bob.helloagain6"
        minSdkVersion 15
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

et C: \ Users \ Bob \ AndroidStudioProjects \ HelloAgain6 \ build.gradle

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

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
Bob Kusik
la source
2
J'ai eu ce problème, mais soudain, je vois que le niveau supérieur a build.gradleété supprimé :), donc je le copie du gitréférentiel et tout se passe bien
Mehdi Khademloo
Même chose pour moi, mon build.gradle pour le niveau du projet a été déplacé dans le même dossier que les propriétés de l'encapsuleur lors d'une fusion géniale donc il ne l'a pas trouvé à la racine où il devrait être
RESTfulGeoffrey

Réponses:

446

Réponse mise à jour (10 avril 2020)

Dernier Gradle: 6.3

Vérification de la version:

  • ./gradlew -v

Comment mettre à jour:

  • Définir l'URL: ./gradlew wrapper --gradle-version=3.6.2 --distribution-type=all
  • Mettre à jour: ./gradlew wrapper

Dernier plugin Android Gradle: 3.6.2

Si vous ajoutez l'extrait de code suivant en haut de votre build.gradlefichier. Gradle mettra à jour les outils de construction.

buildscript {
    repositories {
        google() // For Gradle 4.0+
        maven { url 'https://maven.google.com' } // For Gradle < 4.0
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.2'
    }
}

En savoir plus ici: https://developer.android.com/studio/build/index.html et sur la compatibilité des versions ici: https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle et https://dl.google.com/dl/android/maven2/index.html .

Réponse originale

J'ai eu cette même erreur, vous devez vous assurer que votre version Gradle est compatible avec votre plugin Android Gradle.

La dernière version de Gradle est 2.0, mais vous devez utiliser 1.12 pour utiliser le plug-in Android Gradle.

Jared Burrows
la source
157
+1 pour toujours mettre à jour votre réponse quelques mois plus tard
P1nGu1n
4
@ P1nGu1n Pas de problème! C'est plus facile si tout le monde voit les informations les plus récentes.
Jared Burrows du
4
@MartinPfeffer Aucun problème. Je continuerai à garder cela à jour!
Jared Burrows
12
Bonne réponse, même si je ne peux m'empêcher de me demander pourquoi Google déploierait Android Studio comme ça .. Cette erreur est la première chose que vous voyez lors du démarrage d'un nouveau projet. Je veux dire, à quoi pensaient-ils!?
BdR
10
Le développement Android a beaucoup de choses stupides. Pourquoi nous devrions être gênés par toutes ces versions
Gradle
32

Cela peut se produire si vous manquez d'ajouter le fichier de construction de niveau supérieur.

Ajoutez simplement build.gradle au niveau supérieur.

ça devrait ressembler à ça

// 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.xx.y'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

Cendre
la source
2
C'est exactement ce qu'il a.
Jared Burrows
Qu'en est-il du contenu existant du fichier? Il suffit de les supprimer?
Tom Russell
1
Si vous faites le tutoriel Firebase dont vous avez besoin classpath 'com.android.tools.build:gradle:3.2.1' et classpath 'com.google.gms:google-services:4.0.1'
userqwert
8

Dans mon cas, je télécharge le projet depuis GitHub et le fichier Gradle était manquant. Je viens donc de créer un nouveau projet avec succès . Copiez-collez ensuite le fichier manquant Gradle. Et reconstruire le projet fonctionne pour moi.

entrez la description de l'image ici

Md Imran Choudhury
la source
cela a résolu mon problème après plusieurs heures d'essayer d'autres méthodes
zyz82
3

Fichier racine-gradle:

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

allprojects {
    repositories {
        jcenter()
    }
}

Fichier Gradle-wrapper.properties:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-x.x-all.zip
Gennadiy Ryabkin
la source
3

J'ai trouvé le problème après une heure à lutter avec ce message d'erreur:

J'ai accidentellement renommé la racine build.gradleen nom de fichier dans builde.gradle, donc Android Studio ne l'a plus reconnu.

Le renommer pour build.gradlerésoudre le problème!

Lorenzo Barbagli
la source
2

J'écris ceci non pas comme une solution destinée à beaucoup, mais pour certaines personnes qui peuvent commettre une simple erreur comme spécifier la mauvaise URL pour importer des projets depuis SVN . Il est destiné à ces gars :)

Cela m'est arrivé lorsque j'ai importé le projet depuis SVN -> invite automatique de Studio à ouvrir le projet -> Il a demandé l'emplacement de Gradle -> D: \ Software \ Android \ gradle-2.5 -> Puis l'erreur.

Le même projet dans une branche SVN différente fonctionne très bien avec le plugin Gradle et Gradle que j'ai configuré dans Studio. J'ai essayé de changer le plugin Android Gradle et Gradle pour le faire fonctionner sur la branche errante sans succès.

Enfin, j'ai compris que c'était l'erreur suivante: j'ai essayé d'importer une application spécifique seule au lieu d'importer l'application avec des projets de bibliothèque dépendants. L'URL que j'ai utilisée pour l'importation avait initialement le nom du projet d'application à la fin. Une fois que je l'ai supprimé et spécifié le répertoire parent qui contenait à la fois le projet d'application et son projet dépendant, tout s'est bien passé :)

grenat
la source
2

J'ai toujours l'erreur

 Could not find com.android.tools.build:gradle:3.0.0.

Problème: jcenter () n'avait pas les bibliothèques requises

Solution: ajoutez google () comme repo

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {

        classpath "com.android.tools.build:gradle:3.0.0"
    }
}
Simon Fakir
la source
1

Les autres réponses n'ont pas fonctionné pour moi, je suppose que quelque chose ne va pas entre ButterKnife et 3.0.0 alpha5 .

Cependant, j'ai trouvé que lorsque j'annotais une phrase, BUtterKnife ou 3.0.0 alpha5, cela fonctionne normalement.

Donc, vous devez simplement éviter la duplication ou le conflit .

Lancer.Yan
la source
Lorsque j'ai annoté une phrase, ButterKnife ou 3.0.0 alpha5 , cela fonctionne normalement.
Lancer.Yan
Veuillez poser une nouvelle question au lieu de répondre ici avec une question.
ישו אוהב אותך
N'oubliez pas que chaque version alpha n'est pas prête pour la production. Vous ne devez pas utiliser la version alpha dans votre code.
ישו אוהב אותך
Désolé ... J'ai résolu cette question sur mon ordinateur, mais je ne comprends pas POURQUOI ....
Lancer.Yan
Peut-être que cette méthode non conventionnelle sera utile. Annoté, tout le monde sera utile dans Android Studio 3.0.0 alpha5.
Lancer.Yan
1

Vérifiez l'orthographe, la mienne était «com.android.a p lication»

kreker
la source
1

Pour référence future: Pour moi, ce problème est uniquement dû au fait que je n'exécutais pas Android Studio en tant qu'administrateur. J'ai eu le raccourci sous Windows configuré pour toujours s'exécuter en tant qu'administrateur, mais après avoir réinstallé Android Studio, le raccourci a été remplacé, et il a donc fonctionné sans droits d'administrateur. Cela a causé beaucoup d'erreurs opaques, y compris celle de cette question.

Wouter Florijn
la source
0

J'utilisais IntelliJ IDEA 13.1.5 et suis confronté au même problème après avoir changé les versions de Picasso et Retrofit dependenciesdans le build.gradlefichier. J'ai essayé d'utiliser de nombreuses solutions, mais sans résultat. Puis j'ai cloné mon projet depuis git distant (où je l'ai poussé avant de changer les versions des dépendances) et ça a marché! Après cela, je viens de fermer le projet en cours et d'importer à nouveau l'ancien projet du fichier Gradle vers IntelliJ IDEA et cela a fonctionné aussi! Donc, je pense que c'était un bug étrange à l'intersection d'IDEA, de Gradle et du plugin Android. J'espère que ces informations pourront être utiles aux utilisateurs d'IDEA ou à toute autre personne.

John Smith
la source
Y a-t-il une réponse technique que vous pouvez donner avec un exemple de code spécifique?
IgorGanapolsky
0

Cela m'est juste arrivé en utilisant Android Studio 1.3.2 , cependant, puisque je venais de créer le projet, je l'ai supprimé et recréé.
Il semble qu'il n'ait pas été correctement créé par Android Studio la première fois, pas même les dossiers de projet comme prévu.

Edison Spencer
la source
La version d'Android Studio doit correspondre à la version du plugin.
Jared Burrows
0

Si vous exécutez une tâche de module avec le plug-in android 1.2.3 dans le répertoire du module, le problème apparaît. Essaye ça:

../gradlew -b ../build.gradle  -c ../settings.gradle  :module:xxx
Victor Choy
la source
Cette commande est très hacky et Gradle 1.2.3 est extrêmement ancienne.
Jared Burrows
0

Accédez à votre fichier de notes où vous pouvez voir ceci:

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


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

Et changez classpathceci:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
//        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.android.tools.build:gradle-experimental:0.7.0-alpha1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
Volodymyr Kulyk
la source
Non, gradle-experimentalc'est "expérimental". Cela n'a rien à voir avec la question.
Jared Burrows
@JaredBurrows L'erreur dans la question d'OP peut également se produire avec gradle-experimental. Cela m'arrive aujourd'hui. Cependant, VladimirKulyk devrait savoir que l'utilisation de gradle-experimental n'est recommandée que pour les builds NDK.
IgorGanapolsky
0

Assurez-vous que vos deux fichiers build.gradle et settings.gradle se trouvent dans les répertoires appropriés, comme indiqué dans https://developer.android.com/studio/build/index.html

Ouvrez ensuite "en tant que projet existant" dans Visual Studio

Gradle est très capricieux à ce sujet.

Tom Chalker
la source
0

J'ai reçu ce message d'erreur après avoir effectué la modification suivante dans mon niveau supérieur build.gradlepour mettre à jour vers la dernière version de gradle:

//classpath 'com.android.tools.build:gradle:2.3.2' old
classpath 'com.android.tools.build:gradle:2.3.3' //new

J'ai bêtement fait le changement alors que j'étais connecté derrière un proxy hostile en milieu de travail. Le proxy a provoqué la .jarcorruption des fichiers de la nouvelle version de gradle. Cela peut être vérifié en inspectant les bocaux pour voir s'ils sont d'une taille inhabituelle ou s'ils peuvent être décompressés.

Afin de corriger l'erreur, je me suis connecté à mon réseau à la maison (qui n'est pas derrière un proxy) et j'ai fait un rafraîchissement des dépendances depuis le terminal:

./gradlew --refresh-dependencies

Cela a entraîné le téléchargement de la nouvelle version de gradle et l'erreur ne se produit plus.

David Rawson
la source
0

Cela peut également se produire lorsque vous disposez des deux settings.gradleet que les settings.gradle.ktsfichiers sont présents dans le répertoire racine du projet (éventuellement avec le même module inclus). Vous ne devriez avoir qu'un seul de ces fichiers.

Igor Wojda
la source
Correct. Cela m'est arrivé lorsque j'ai importé mon projet directement avec build.gradle, trouvé un fichier Gradle et de propriétés en double
Okikioluwa
0

Dans le fichier build.gradle au niveau du projet, j'ai remplacé cette ligne

classpath 'com.android.tools.build:gradle:3.6.3'

avec celui-ci

classpath 'com.google.gms:google-services:4.3.3'

Après avoir ajouté ces deux lignes et synchronisé, tout s'est bien passé. J'espère que cela aidera quelqu'un.

codersaif
la source
-1

module app build.gradle fichier

apply plugin: 'com.android.application'

model{


    android {
        compileSdkVersion 23
        buildToolsVersion  "23.0.2"

        defaultConfig.with {
            applicationId "com.iamsafe"
            minSdkVersion 15
            targetSdkVersion 23





        }
     buildTypes {
            debug {
                minifyEnabled = false
                useProguard = true
                proguardFiles.add(file('proguard-rules.txt'))


            }
        }



    }

}



dependencies {
    compile 'com.android.support:support-v4:23.0.2'
    compile files('libs/asmack-android-8-0.8.10.jar')
    compile files('libs/commons-io-2.0.1.jar')
    compile files('libs/httpclient-osgi-4.2.1-sources.jar')
    compile files('libs/httpcore-4.3.2.jar')
    compile files('libs/httpmime-4.1.2.jar')
}


project build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.10'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
Mansuu ....
la source
-1

Dans ce cas, vérifiez le code ci-dessous

dependencies {
    classpath 'com.android.tools.build:gradle:**1.5.0**'
}

et à l' gradle-wrapper.propertiesintérieur de votre répertoire de projet, vérifiez ci disctributionUrl- dessous :

distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.zip

Si ceux-ci ne sont pas compatibles entre eux, vous vous retrouvez dans ce problème.

Pour com.android.tools.build:gradle:1.5.vous avez besoin d'une version au moins 2.8 mais si vous passez à une version supérieure comme celle-ci, com.android.tools.build:gradle:2.1.0vous devez mettre à jour votre gradle à 2.9 et au-dessus, cela peut être fait en changeant distributionUrldans gradle-wrapper.properties à 2.9 ou supérieur comme ci-dessous

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
maruti060385
la source
-1

Assurez-vous simplement de mettre correctement le proxy http et https lorsque vous créez l'application

Diogo Miranda
la source