我一直试图让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']
}
}
}
你能帮忙吗?
答案 0 :(得分:254)
指示Gradle从Maven Central存储库下载Android插件。
您可以通过在Gradle构建文件的开头粘贴以下代码来执行此操作:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.1'
}
}
将版本字符串1.0.+
替换为最新版本。已发布的Gradle插件版本可在official Maven Repository或MVNRepository artifact search上找到。
答案 1 :(得分:26)
只是为了记录(花了我一段时间),在Grzegorzs的回答为我工作之前,我必须通过SDK Manager安装“ android support repository ”!
安装它并在actionbarsherlock文件夹的build.gradle中添加以下代码:apply plugin:'android-library'!
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.+'
}
}
答案 2 :(得分:13)
使用
apply plugin: 'com.android.library'
将app模块转换为库模块。更多信息:https://developer.android.com/studio/projects/android-library.html
答案 3 :(得分:6)
使用 mavenCentral()
或 jcenter()
在build.gradle
文件中添加脚本:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
答案 4 :(得分:4)
在更高版本中,插件已将名称更改为:
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'
}
}
答案 5 :(得分:1)
将以下内容添加到build.gradle
项目模块:
//顶级构建文件,您可以在其中添加所有子项目/模块共有的配置选项。
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
}
答案 6 :(得分:1)
对我来说,在 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' }
}
}
答案 7 :(得分:0)
除了之前的答案,在使用 Gradle Kotlin DSL 时,您应该在 settings.gradle.kts
中为 Android 插件添加 resolution strategy:
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
。