Kotlin 和 Android 数据绑定

Kotlin and Android Databinding

2015 年 6 月 21 日更新

我想在同一个项目中尝试 kotlin 和 android 数据绑定。但是当我添加到 kotlin-gradle-plugin 依赖项时,我什至无法再构建一个空项目并出现错误:

cannot generate view binders java.lang.NoClassDefFoundError: kotlin/jvm/internal/ExtensionFunctionImpl

buildscript {
  repositories {
      jcenter()
  }
  dependencies {
      classpath 'com.android.tools.build:gradle:1.3.0-beta3'
      classpath "com.android.databinding:dataBinder:1.0-rc0"
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.613"
  }
}

是否有任何解决方法可以使其协同工作?

不幸的是,这是由于数据绑定和 kotlin 插件之间的 kotlin 版本不一致造成的。 我们将从 rc1 上的插件中删除 kotlin 依赖项,但在此之前您需要使用 kotlin 0.11.91。 另外,由于此时 kotlin 的注解处理器支持有限,数据绑定使用注解处理器;他们可能不会很好用(虽然我没试过)。