DSL 요소 'android.dataBinding.enabled'는 더 이상 사용되지 않으며 'android'로 대체되었습니다.buildFeatures.dataBinding'
프로젝트를 빌드할 때 다음 경고를 받습니다.
DSL element 'android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBinding'.
사용 중Android Studio Canary 6
출발지Android Gradle Plugin 4.0.0-alpha05
라는 새로운 블록이 있습니다.buildFeatures
빌드 기능을 사용하도록 설정합니다.
따라서 새로운 AGP 플러그인으로 데이터 바인딩을 활성화하려면 모듈(예: app) 수준 Gradle 파일에서 다음과 같이 하십시오.
build.gradle(그루비 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
build.gradle(앱 수준)에 저장합니다.4.0.0 이상의 안드로이드 스튜디오 버전에서 작동합니다.
android {
buildFeatures{
dataBinding true // for data binding
viewBinding true // for view binding
}
}
이 경고는 다음과 같은 이유로 발생합니다.
dataBinding {
enabled=true
}
viewBinding {
enabled=true
}
이 코드 스타일은 더 이상 사용되지 않으며 지금도 이 코드를 사용하려면 Androidx 레거시 지원 종속성을 사용할 수 있습니다.
평판이 좋은 체격으로
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
그렇지 않으면 새 코드 스타일을 사용하여 데이터 바인딩 및 보기 바인딩을 활성화할 수 있습니다.
이것처럼.
android {
buildFeatures {
dataBinding = true
// for view binding:
// viewBinding = true
}
}
이 코드를 Gradle Scripts >> build.gradle(모듈: appName.app)에 넣습니다.
조립 후에유형(데이터 바인딩 코드 포함)
buildTypes {
release {
.......
........
}
}
//here is the code...
buildFeatures {
dataBinding = true
}
이상입니다 :)
새 기능을 찾고 있는 경우viewBinding
이것을 시험해 보다Groovy
android {
...
buildFeatures {
viewBinding true
}
}
그리고 이것은Kotlin
android {
...
buildFeatures {
viewBinding true
}
}
그러나 기본 Android 데이터 바인딩을 사용하려면
android {
...
buildFeatures {
dataBinding true
}
}
또한, 사용에 주의하십시오.
kapt "com.android.databinding:compiler:4.0.0"
1- 빌드 아래에 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'
buildFeatures {
//just for dataBinding ,It has nothing to do with viewBinding
dataBinding = true
//just for viewBinding ,It has nothing to do with dataBinding
viewBinding = true
}
위의 노트들을 보세요. 그래서 그것은 매우 명확할 것입니다.
다음 작업이 가능성:
안드로이드 {compileSdkVersion 30 빌드도구 버전 "30.0.3"
defaultConfig {
applicationId "com.poet.navviewmodeljave"
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
//dataBinding.enabled true
buildFeatures.dataBinding
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
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'
}
언급URL : https://stackoverflow.com/questions/59390492/dsl-element-android-databinding-enabled-is-obsolete-and-has-been-replaced-with
'itsource' 카테고리의 다른 글
ASP를 교체합니다.넷의 세션 전체 (0) | 2023.08.30 |
---|---|
두 목록을 교대로 결합(인터리브, 인터레이스, 서로 얽힘)하는 파이썬 방식? (0) | 2023.08.30 |
Bitnami의 Wordpress 도커 설정을 통한 지속성 (0) | 2023.08.30 |
PowerShell에서 일부 파일 및 폴더를 제외한 재귀 디렉터리 및 파일 목록을 검색하는 방법은 무엇입니까? (0) | 2023.08.30 |
Excel VBA:워크북 범위, 워크시트에 따라 명명된 공식/지정된 범위(활성 워크시트에 따라 결과가 변경됨) (0) | 2023.08.30 |