当我尝试在Android Studio中构建Android库项目时,我收到以下Gradle错误:
Gradle sync failed: Plugin with id 'com.android.library' not found.
我对Gradle很新,这对我来说非常困惑。为什么会这样?
build.gradle文件如下:
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 8
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
}
答案 0 :(得分:14)
您的问题是您使用的是顶级文件,而您无法使用此类插件。
在AS中你有这样的结构:
Root/
+ lib
| build.gradle
| build.gradle
| settings.gradle
在您的顶级文件中,您可以使用:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.1'
}
}
allprojects {
repositories {
jcenter()
}
}
在lib/build.gradle
中,您可以使用问题中张贴的代码:
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 8
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
}
最后在您的settings.gradle
include ':lib'
您也可以参考this question。
答案 1 :(得分:2)
假设您有一个标准的项目结构,如下所示:
yourProject/
+ .idea/
+ gradle/wrapper/
+ lib-module/
| build.gradle
| build.gradle
| gradlew
| gradlew.bat
| settings.gradle
您的同步失败似乎表明您的SDK / IDE配置存在问题。
首先打开"项目结构"对话框并确保" Android SDK位置:" value设置为正确的路径。
其次,打开SDK管理器并再次确保您设置了正确的SDK位置路径。
第三,确认您拥有正确版本的" Android SDK Build-Tools"包安装。 (在这种情况下为23.0.2)
最后,为了确认我们没有任何不良状态,我建议做一个" Invalidate和Restart"来自文件 - > "使高速缓存无效/Restart ...。"
在所有这些之后,我希望它应该同步。如果没有尝试从项目的根目录运行./gradlew
并使用任何新信息更新我们。
答案 2 :(得分:0)
wp-content
将这些行添加到库的gradle文件中。
答案 3 :(得分:0)
在我的情况下,由于local.properties文件中的sdk / ndk路径错误,我将项目从hd移动到另一个并且这些设置错误,修复路径修复了问题。