web-dev-qa-db-fra.com

Erreur Gradle dans Android Studio: plugin avec l'ID 'com.Android.library' introuvable

Lorsque j'essaie de créer un projet de bibliothèque Android dans Android Studio, je reçois l'erreur Gradle suivante:

Gradle sync failed: Plugin with id 'com.Android.library' not found.

Je suis assez nouveau pour Gradle et c'est très déroutant pour moi. Pourquoi cela arrive-t-il?

Le fichier build.gradle est le suivant:

apply plugin: 'com.Android.library'

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.1.0'
}
7
jackofblades

Votre problème est que vous utilisez le fichier top-level où vous ne pouvez pas utiliser ce type de plugin.

En AS, vous avez une structure comme celle-ci:

Root/
 + lib
    | build.gradle
 | build.gradle
 | settings.gradle 

Dans votre fichier de niveau supérieur, vous pouvez utiliser:

// 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:1.3.1'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

Dans votre lib/build.gradle, vous pouvez utiliser le code affiché dans la question:

apply plugin: 'com.Android.library'

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.1.0'
}

Enfin dans votre settings.gradle

include ':lib'

Aussi, vous pouvez consulter cette question .

13

En supposant que vous ayez une structure de projet standard comme celle-ci:

yourProject/
 + .idea/
 + gradle/wrapper/
 + lib-module/
    | build.gradle
 | build.gradle
 | gradlew
 | gradlew.bat
 | settings.gradle

Votre échec de la synchronisation semble indiquer un problème avec votre configuration SDK/IDE.

Commencez par ouvrir la boîte de dialogue "Structure du projet" et assurez-vous que la valeur "Emplacement du SDK Android:" est définie sur le chemin correct.

Deuxièmement, ouvrez le gestionnaire de SDK et vérifiez à nouveau que le chemin d’emplacement du SDK est correct.

Troisièmement, vérifiez que la version correcte du package "Android SDK Build-Tools" est installée. (23.0.2 dans ce cas)

Enfin, juste pour vérifier que nous n’avons aucun mauvais état, je recommande de faire une "invalidation et redémarrage" à partir de Fichier -> "Invalidate Caches/Restart ..." 

Après tout cela, je pense qu’il devrait être synchronisé. Sinon, essayez d'exécuter ./gradlew à partir de la racine de votre projet et mettez-nous à jour avec les nouvelles informations. 

2
TrevJonez

Dans mon cas, cela était dû à de mauvais chemins sdk/ndk dans le fichier local.properties. J'ai déplacé le projet d'un hd à un autre et ces paramètres étaient incorrects.

0
Andrea Leganza
buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'com.Android.tools.build:gradle:1.3.0'    }
}

apply plugin: 'com.Android.library'

Ajoutez ces lignes pour classer le fichier de bibliothèque.

0
Jose Jithin Stanly