web-dev-qa-db-fra.com

Android Studio: plug-in avec l'ID 'Android-library' introuvable

J'ai essayé de faire fonctionner ActionBarSherlock et j'ai un problème. Un problème que j'ai rencontré est le message suivant lorsque vous essayez de le construire:

Plugin with id 'Android-library' not found

Plus précisément:

D:\Projects\Android\actionbarsherlock>D:\Projects\Android\gradlew --info build
Starting Build
Settings evaluated using empty settings script.
Projects loaded. Root project using build file 
  'D:\Projects\Android\actionbarsherlock\build.gradle'.
Included projects: [root project 'actionbarsherlock']
Evaluating root project 'actionbarsherlock' using build file 
  'D:\Projects\Android\actionbarsherlock\build.gradle'.

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\Projects\Android\actionbarsherlock\build.gradle' line: 1

* What went wrong:
A problem occurred evaluating root project 'actionbarsherlock'.
> Plugin with id 'Android-library' not found.

Je traite cela comme un problème ABS dans un fil séparé, alors je suis curieux de savoir comment aborder le problème général de:

Plugin with id 'Android-library' not found

Voici le build.gradle:

apply plugin: 'Android-library'

dependencies {
  compile 'com.Android.support:support-v4:18.0.+'
}

Android {
  compileSdkVersion 14
  buildToolsVersion '17.0.0'

  sourceSets {
    main {
      manifest.srcFile 'AndroidManifest.xml'
      Java.srcDirs = ['src']
      res.srcDirs = ['res']
    }
  }
}

Pouvez vous aider?

141
Michael

Demandez à Gradle de télécharger le plug-in Android à partir du référentiel Maven Central.

Vous le faites en collant le code suivant au début du fichier de construction de Gradle:

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

Remplacez la chaîne de version 1.0.+ par la dernière version. Les versions publiées du plugin Gradle peuvent être trouvées dans référentiel officiel Maven ou sur recherche d'artefacts MVNRepository .

257
Grzegorz Żur

Juste pour le compte rendu (cela m’a pris un certain temps) avant que la réponse de Grzegorz ne fonctionne pour moi, j’ai dû installer "référentiel de support Android" via le gestionnaire de SDK!

Installez-le et ajoutez le code suivant au-dessus du plugin apply: 'Android-library' dans le dossier build.gradle du actionbarsherlock!

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.0.+'
    }
}
26
Langusten Gustel

Utilisation

apply plugin: 'com.Android.library'

convertir un module d'application en un module de bibliothèque. Plus d'infos ici: https://developer.Android.com/studio/projects/Android-library.html

13
IgorGanapolsky

Utilisez mavenCentral() ou jcenter() en ajoutant dans le fichier build.gradle le script:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.Android.tools.build:gradle:1.5.0'   
    }
}
6
Jorgesys

Dans les versions ultérieures, le plugin a changé de nom et devient:

apply plugin: 'com.Android.library'

Et comme déjà mentionné par certaines des autres réponses, vous avez besoin des outils de classement pour l’utiliser. Avec 3.0.1, vous devez utiliser le dépôt Google, pas mavenCentral ou jcenter:

buildscript {
    repositories {
        ...
        //In IntelliJ or older versions of Android Studio
        //maven {
        //   url 'https://maven.google.com'
        //}
        google()//in newer versions of Android Studio
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.1'
    }
}
5
Zoe

Ajoutez ce qui suit au module de projet build.gradle:

// Fichier de construction de niveau supérieur dans lequel vous pouvez ajouter des options de configuration communes à tous les sous-projets/modules.

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

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

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
1
Hasan A Yousef