Android Studio: 找不到 id 为“ Android-library”的插件

我一直在努力让动作男爵夏洛克工作,但出了点问题。我遇到的一个问题是,在尝试构建它的时候,需要传达以下信息:

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

你能帮忙吗?

281468 次浏览

指示 Gradle 从 Maven Central 仓库下载 Android 插件。

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

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

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

只是为了记录(花了我相当一段时间)之前,Grzegorzs 的答案为我工作,我必须安装“ 机器人支持仓库”通过 SDK 管理器!

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

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

使用

apply plugin: 'com.android.library'

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

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

buildscript {
repositories {
mavenCentral()
}


dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}

将以下内容添加到 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
}

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

apply plugin: 'com.android.library'

正如其他一些答案已经提到的,你需要梯度工具来使用它。使用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'
}
}

对于我来说,在 android 工作室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' }
}
}

除了以前的答案,当使用 Gradle Kotlin DSL 时,你应该在你的 settings.gradle.kts中为 Android 插件添加 解决策略:

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

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

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

这个错误非常简单,它意味着当你添加匕首柄的依赖项时,你忘记添加匕首柄的类路径。O 只需转到 build.gradle (project)并添加这个类路径

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

♪ And boom error is gone)♪

注意: 无论你添加的依赖项是什么,如果它有插件,请确保不要忘记添加该依赖项的类路径