77 votes

Gradle émet une erreur "Impossible de créer un plugin de type 'AppPlugin'".

J'essaie de créer un projet Android simple avec gradle. Je travaille sur un ordinateur équipé de Debian GNU/Linux 7 'wheezy'.

J'ai suivi les recommandations dans Guide d'utilisation du plugin Gradle - Site du projet Android Tools mais il y a une erreur :

FAILURE: Build failed with an exception.

* Where:
Build file '/home/alex/Proyectos/MyLogin/build.gradle' line: 11

* What went wrong:
A problem occurred evaluating root project 'MyLogin'.
> Could not create plugin of type 'AppPlugin'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.817 secs

J'ai suivi les spécifications :

  • Gradle 1.9
  • Plugin 0.7
  • SDK 17+ (en réalité 19)

J'ai également recommencé un projet, et les résultats que j'ai montrés ont été émis par la commande gradle tasks comme indiqué dans la documentation.

J'ai également essayé gradle 1.10, mais le résultat est le même.

Même cette question n'était pas utile, puisqu'il résolvait le problème de la mise à jour vers gradle 1.6 (je comprends que le plugin 0.7 nécessite au moins gradle 1.9).

J'ai essayé ceci après avoir échoué avec la même erreur en Studio Android y Idée IntelliJ .

EDITAR: J'ai également essayé avec de nouveaux projets dans les deux IDE, et j'ai eu le même problème. Mais ce qui me surprend le plus, c'est que les deux IDE utilisent gradle 1.8 dans sa forme enveloppée. J'ai essayé de les configurer tous les deux pour utiliser mon installation locale de Gradle, mais toujours le même problème.

Qu'est-ce que je fais de mal ? S'agit-il d'un bug ? Comment puis-je éviter le problème ?

S'il vous plaît, aidez-moi.

EDITAR: Voici mon build.gradle

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

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 14
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
    }
}

sourceCompatibility = 1.6

version = '0.1'

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    //compile project(':core')
}

27voto

SK9 Points 9683

Google a fait une erreur avec la version 0.7.2 de l'application Plugin Gradle :

Note : 0.7.2 nécessite Java7. C'est une erreur. Utilisez la version 0.7.3 à la place.

La version 0.7.3 réactive le support de Java6. Déclarer Gradle 0.7.3 dans mes fichiers de construction résout effectivement ce problème pour moi.

Personne n'est parfait :)

http://tools.Android.com/tech-docs/new-build-system

22voto

Vasile Jureschi Points 661

19voto

JJD Points 7539

Je l'ai fait fonctionner en utilisant Gradle 1.10 avec le plugin Gradle 0.8.0.

// /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.8.+'
    }
}

...

# /gradle/wrapper/gradle-wrapper.properties.
#Sat Feb 01 20:41:29 CET 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-bin.zip

1voto

Blundell Points 28342

Si vous essayez de mettre à jour votre projet Gradle 1.9 vers Gradle 1.10 en utilisant

task wrapper(type: Wrapper) {
    gradleVersion = '1.10'
}

et commande ./gradlew wrapper vous obtiendrez la même erreur que ci-dessus.

La solution consiste à installer Gradle 1.10 sur votre machine et à mettre à jour votre projet. ne pas utiliser le wrapper

gradle wrapper

1voto

Eric Woodruff Points 1886

Vous pouvez également obtenir cette erreur si vous mettez à jour votre système gradle et oubliez de mettre à jour la maison gradle d'Android Studio.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X