【问题标题】:Kotlin and Android DatabindingKotlin 和 Android 数据绑定
【发布时间】:2015-09-05 18:14:55
【问题描述】:

21.06.2015 更新

我想在同一个项目中尝试 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 0.12.613,它必须修复
  • @AndreyBreslav 谢谢,新的 kotlin 版本解决了我描述的问题,但我仍然无法编译一个空项目,错误:“[错误]:无法生成视图绑定器 java.lang.NoClassDefFoundError:kotlin/ jvm/internal/ExtensionFunctionImpl"

标签: android data-binding kotlin


【解决方案1】:

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

【讨论】:

  • 从M12开始,注释处理应该可以正常工作了。
  • 不幸的是,如果我尝试使用 gradle 同步项目,使用 0.11.91 会失败并出现其他错误,看起来像 0.11.91 - 只是不支持最新的 Android Studio 构建
  • @yigit DataBinding 中还有 kotlin 代码吗?
  • 是的,但是下一个版本将与 kotlin 1.0 一起发布,所以这不再是问题了
猜你喜欢
  • 2016-06-19
  • 1970-01-01
  • 2017-11-06
  • 2016-08-14
  • 1970-01-01
  • 2018-10-17
  • 2020-11-26
  • 1970-01-01
  • 2021-11-26
相关资源
最近更新 更多