본문 바로가기

나의 플랫폼/안드로이드

[Kotlin] unresolved reference databinding

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Kotlin 기본 설정 : http://gogorchg.tistory.com/entry/Kotlin-Kotlin%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-%EA%B8%B0%EB%B3%B8-%EC%84%A4%EC%A0%95

Kotlin 기본 설정을 한 후, Android DataBinding을 같이 사용하고자 해서 아래와 같이 databinding 을 추가 합니다.


android {
...


dataBinding {
enabled = true
}


...
}


그리고 빌드하면 문제 없이 잘 빌드가 완료 됩니다.


DataBinding 소스도 문제 없이 동작 되구요. 코딩이 깔끔하게 작성이 됩니다.


하지만!


Launching App을 할 경우 에러가 발생 합니다.



Unresolved reference: databinding 이라는 에러가 나옵니다.


DataBinding을 추가 하기 위해선 gradle 1.5.0 이상에서는 저 구문만 추가하면 되는데 이상 하죠..


이 현상을 수정 하기 위해선 아래 dependency를 추가 해줘야 합니다.


apply plugin: 'kotlin-kapt' 를 추가해주시구요.

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt' // Use experimental kapt implementation


아래와 같이 databinding:compiler를 넣어 주세요.

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.1.1'
testCompile 'junit:junit:4.12'

// Kotlin
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
kapt "com.android.databinding:compiler:$android_plugin_version"
}


그럼 문제 없이 빌드가 되는 것을 확인 할 수 있습니다.

참고하세요.