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'
}
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 .
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.
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.
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.