Android Studio:未找到ID为'android-library'的插件

Mic*_*ael 146 gradle android-build gradlew android-studio build.gradle

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

Plugin with id 'android-library' not found
Run Code Online (Sandbox Code Playgroud)

特别:

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.
Run Code Online (Sandbox Code Playgroud)

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

Plugin with id 'android-library' not found
Run Code Online (Sandbox Code Playgroud)

这是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']
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

你能帮我吗?

Grz*_*Żur 261

指示Gradle从Maven Central存储库下载Android插件.

您可以通过在Gradle构建文件的开头粘贴以下代码来执行此操作:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.1'
    }
}
Run Code Online (Sandbox Code Playgroud)

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

  • @binil这是Android Gradle插件的版本,而不是Gradle本身。所有版本都列在Maven资料库中http://mvnrepository.com/artifact/com.android.tools.build/gradle要列出构建依赖项,请运行`gradle buildEnvironment`。 (2认同)

Lan*_*tel 27

只是为了记录(花了我一段时间),在Grzegorzs的回答为我工作之前我必须通过SDK Manager 安装" android support repository "!

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

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.+'
    }
}
Run Code Online (Sandbox Code Playgroud)


Igo*_*sky 16

使用

apply plugin: 'com.android.library'
Run Code Online (Sandbox Code Playgroud)

将app模块转换为库模块.更多信息:https://developer.android.com/studio/projects/android-library.html


Jor*_*sys 7

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

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'   
    }
}
Run Code Online (Sandbox Code Playgroud)


Zoe*_*Zoe 7

在更高版本中,该插件已将名称更改为:

apply plugin: 'com.android.library'
Run Code Online (Sandbox Code Playgroud)

正如其他答案中已经提到的那样,您需要gradle工具才能使用它。使用3.0.1,您必须使用Google存储库,而不是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'
    }
}
Run Code Online (Sandbox Code Playgroud)


Sla*_*lav 6

除了之前的答案之外,当使用 Gradle Kotlin DSL 时,您应该在您的 中添加 Android 插件的解析策略settings.gradle.kts

pluginManagement {

    repositories {
        google()
        gradlePluginPortal()
    }

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

}
Run Code Online (Sandbox Code Playgroud)

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

plugins {
    id("com.android.library") version "4.1.3"
}
Run Code Online (Sandbox Code Playgroud)

不需要buildscript