Android 无法获取未知属性';支持图书馆版本';对于类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler的对象
我在android项目中添加了一个外部库。gradle同步后,我出现以下错误: 错误:无法获取类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler的对象的未知属性“supportLibraryVersion” 这是我添加的库的build.gradle文件:Android 无法获取未知属性';支持图书馆版本';对于类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler的对象,android,android-gradle-plugin,Android,Android Gradle Plugin,我在android项目中添加了一个外部库。gradle同步后,我出现以下错误: 错误:无法获取类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler的对象的未知属性“supportLibraryVersion” 这是我添加的库的build.gradle文件: apply plugin: 'com.android.library' android { compileSdkVersion
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
buildToolsVersion "28.0.3"
defaultConfig {
minSdkVersion 16
targetSdkVersion 26
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main.java.srcDirs += 'src/main/base'
main.java.srcDirs += 'src/main/api9'
main.java.srcDirs += 'src/main/api14'
main.java.srcDirs += 'src/main/api21'
main.java.srcDirs += 'src/main/api23'
}
}
dependencies {
implementation "com.android.support:support-annotations:$supportLibraryVersion"
implementation "com.android.support:support-v4:$supportLibraryVersion"
// Tests
testCompile 'junit:junit:4.12'
androidTestCompile('com.android.support.test:runner:0.5') {
exclude module: 'support-annotations'
}
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2') {
exclude module: 'support-annotations'
}
}
supportLibraryVersion在我的应用程序gradle文件中声明如下:
ext {
supportLibraryVersion = '27.1.0'
}
我试图在gradle文件中手动声明supportLibraryVersion
implementation "com.android.support:support-annotations: '27.1.0'"
implementation "com.android.support:support-v4:'27.1.0'"
然后发生以下错误:
ERROR: Failed to resolve: com.android
Affected Modules: library
静态定义时需要使用单引号
implementation 'com.android.support:support-annotations:27.1.0'
implementation 'com.android.support:support-v4:27.1.0'
对于第一个问题,您没有在库的
build.gradle
文件中声明属性$supportLibraryVersion
。您需要像下面那样声明此属性
ext {
supportLibraryVersion = '27.1.0'
}
对于第二个问题,需要删除依赖项版本周围的引号。所以您需要像下面这样重写依赖项-
implementation "com.android.support:support-annotations:27.1.0"
implementation "com.android.support:support-v4:27.1.0"