166

我一直试图让 ActionBarSherlock 工作并遇到一些问题。我遇到的一个问题是尝试构建它时出现以下消息:

Plugin with id 'android-library' not found

具体来说:

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.

我将此视为单独线程中的 ABS 问题,所以在这里我很好奇如何解决以下一般问题:

Plugin with id 'android-library' not found

这是 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']
    }
  }
}

你能帮我吗?

4

10 回答 10

282

指示 Gradle 从 Maven 中央存储库下载 Android 插件。

您可以在 Gradle 构建文件的开头粘贴以下代码:

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

1.0.+用最新版本替换版本字符串。Gradle 插件的发布版本可以在官方 Maven 存储库MVNRepository 工件搜索中找到。

于 2013-08-09T19:08:54.833 回答
29

在 Grzegorzs 的回答对我有用之前,我不得不记录一下(花了我很长时间),我必须通过 SDK 管理器安装“ android 支持存储库”!

安装它并在actionbarsherlock文件夹的build.gradle中添加以下代码应用插件:'android-library'!

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.+'
    }
}
于 2013-10-16T22:27:31.937 回答
18

利用

apply plugin: 'com.android.library'

将应用程序模块转换为库模块。更多信息在这里:https ://developer.android.com/studio/projects/android-library.html

于 2015-02-04T04:23:13.923 回答
10

在以后的版本中,插件已将名称更改为:

apply plugin: 'com.android.library'

正如其他一些答案已经提到的那样,您需要 gradle 工具才能使用它。使用 3.0.1,您必须使用 google repo,而不是 mavenCentral 或 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'
    }
}
于 2018-01-25T20:33:05.140 回答
7

使用mavenCentral()build.gradle文件中添加脚本:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'   
    }
}
于 2016-01-18T21:39:09.447 回答
2

对我来说,在 android studio 4.2 C15 SDK30 上,这是有效的:

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' }
    }
}
于 2021-03-04T21:44:27.110 回答
1

将以下内容添加到build.gradle项目模块中:

// 顶级构建文件,您可以在其中添加所有子项目/模块通用的配置选项。

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
}
于 2017-02-16T10:47:25.823 回答
0

这个错误很简单,就是在添加dagger hilt的依赖时,忘记添加dagger hilt的classpath。因此,只需转到您的 build.gradle(project) 并添加此类路径

classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"

并且繁荣错误消失了❤</p>

注意:- 如果有插件,则添加任何依赖项,请确保不要忘记添加该依赖项的类路径

于 2021-10-16T12:54:57.320 回答
0

除了之前的答案,在使用 Gradle Kotlin DSL 时,您应该您的settings.gradle.kts

pluginManagement {

    repositories {
        google()
        gradlePluginPortal()
    }

    resolutionStrategy {
        eachPlugin {
            if(requested.id.namespace == "com.android") {
                useModule("com.android.tools.build:gradle:${requested.version}")
            }
        }
    }

}

然后,您需要在 中指定插件版本build.gradle.kts,例如:

plugins {
    id("com.android.library") version "4.1.3"
}

buildscript是必需的。

于 2021-07-13T12:08:48.133 回答
0

信不信由你,模块根目录settings.gradle中的一个空文件将这个错误从 Android Studio 4.2.2 的坟墓中带回来。com.android.library

删除空settings.gradle文件修复它。

于 2021-09-17T17:06:50.360 回答