Android Studio: Plugin with id 'android-library' not found
GradleAndroid StudioAndroid Buildbuild.gradleGradlewGradle Problem Overview
I've been trying to get ActionBarSherlock to work and having some issue. One issue I've come across is the following message when trying to build it:
Plugin with id 'android-library' not found
Specifically:
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.
I'm treating this as an ABS issue in a seperate thread, so here I'm curious how to address the general issue of:
Plugin with id 'android-library' not found
Here is the 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']
}
}
}
Can you help?
Gradle Solutions
Solution 1 - Gradle
Instruct Gradle to download Android plugin from Maven Central repository.
You do it by pasting the following code at the beginning of the Gradle build file:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.1'
}
}
Replace version string 1.0.+
with the latest version. Released versions of Gradle plugin can be found in official Maven Repository or on MVNRepository artifact search.
Solution 2 - Gradle
Just for the record (took me quite a while) before Grzegorzs answer worked for me I had to install "android support repository" through the SDK Manager!
Install it and add the following code above apply plugin: 'android-library' in the build.gradle of actionbarsherlock folder!
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.+'
}
}
Solution 3 - Gradle
Use
apply plugin: 'com.android.library'
to convert an app module to a library module. More info here: https://developer.android.com/studio/projects/android-library.html
Solution 4 - Gradle
In later versions, the plugin has changed name to:
apply plugin: 'com.android.library'
And as already mentioned by some of the other answers, you need the gradle tools in order to use it. Using 3.0.1, you have to use the google repo, not mavenCentral or 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'
}
}
Solution 5 - Gradle
Use mavenCentral()
adding in the build.gradle
file the script:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
Solution 6 - Gradle
For me, on android studio 4.2 C15 SDK30, this is what worked:
buildscript {
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
maven {
url 'https://mvnrepository.com/artifact/com.android.tools.lint/lint-gradle-api'
}
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.0-beta05"
}
}
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://maven.google.com' }
}
}
Solution 7 - Gradle
Add the below to the build.gradle
project module:
// 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:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Solution 8 - Gradle
In addition to previous answers, when using Gradle Kotlin DSL, you should add resolution strategy for Android plugins in your settings.gradle.kts
:
pluginManagement {
repositories {
google()
gradlePluginPortal()
}
resolutionStrategy {
eachPlugin {
if(requested.id.namespace == "com.android") {
useModule("com.android.tools.build:gradle:${requested.version}")
}
}
}
}
Then, you need to specify plugin version in your build.gradle.kts
, e.g.:
plugins {
id("com.android.library") version "4.1.3"
}
No buildscript
is required.
Solution 9 - Gradle
Believe it or not, an empty settings.gradle
file in the com.android.library
module's root directory brought this error back from the grave in Android Studio 4.2.2.
Deleting the empty settings.gradle
file fixed it.
Solution 10 - Gradle
This error is very simple , it means that when you are adding dependency of dagger hilt, you forget to add classpath of dagger hilt 藍. So simply go to your build.gradle(project) and add this classpath
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
And boom error is gone ❤
Note :- whatever dependency you are adding if it has plugin , make sure don't forget to add classpath of that dependency