在构建项目时获取以下警告
DSL element 'android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBinding'.
我正在使用Android Studio金丝雀6
在构建项目时获取以下警告
DSL element 'android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBinding'.
我正在使用Android Studio金丝雀6
当前回答
出现此警告是因为
dataBinding {
enabled=true
}
viewBinding {
enabled=true
}
这种代码风格已弃用,并将从gradle版本5中删除 现在如果你仍然想使用这个,那么你可以使用androidx遗留的支持依赖项
在应用程序级别build.gradle
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
否则,您可以使用新的代码样式来启用数据绑定和视图绑定
像这样
android {
buildFeatures {
dataBinding = true
// for view binding:
// viewBinding = true
}
}
其他回答
1-在build下面添加dataBinding功能:
android {
...
buildFeatures {
dataBinding true
}
...
}
2-将匕首版本改为2.31.2
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
implementation "com.google.dagger:dagger:$daggerVersion"
3- butterKnife版本也更改为10.2.3
implementation 'com.jakewharton:butterknife:10.2.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
把它放到构建中。gradle(应用程序级别)。它将适用于大于或等于4.0.0的android studio版本。
android {
buildFeatures{
dataBinding true // for data binding
viewBinding true // for view binding
}
}
从Android Gradle Plugin 4.0.0-alpha05开始,有一个名为buildFeatures的新块来启用构建功能。
因此,为了使数据绑定与新的AGP插件,你必须在模块(例如:app)级别的gradle文件
构建。gradle (Groovy DSL)
// shorter version
// android.buildFeatures.dataBinding true
// longer version
android {
buildFeatures {
dataBinding true
// for view binding:
// viewBinding true
}
}
build.gradle.kts ( Kotlin DSL )
// shorter version
// android.buildFeatures.dataBinding = true
// longer version
android {
buildFeatures {
dataBinding = true
// for view binding:
// viewBinding = true
}
}
参考:https://developer.android.com/studio/releases/gradle-plugin # buildFeatures
你必须在gradle模块中添加buildFeatures
android {
buildFeatures{
dataBinding true
}
}
例子:
plugins {
id 'com.android.application'
}
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.demo"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures{
dataBinding true
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'org.jetbrains:annotations:15.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
出现此警告是因为
dataBinding {
enabled=true
}
viewBinding {
enabled=true
}
这种代码风格已弃用,并将从gradle版本5中删除 现在如果你仍然想使用这个,那么你可以使用androidx遗留的支持依赖项
在应用程序级别build.gradle
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
否则,您可以使用新的代码样式来启用数据绑定和视图绑定
像这样
android {
buildFeatures {
dataBinding = true
// for view binding:
// viewBinding = true
}
}