android - 如何在 Android Studio 3.0.0 中使用数据绑定(bind)和 Kotlin

标签 android android-studio kotlin android-databinding android-studio-3.0

我刚开始使用 Android Studio 3.0.0,但每次尝试构建我的项目时都会收到此错误:

Error:Circular dependency between the following tasks:
:app:compileDebugKotlin
+--- :app:dataBindingExportBuildInfoDebug
|    \--- :app:compileDebugKotlin (*)
\--- :app:kaptDebugKotlin
     \--- :app:dataBindingExportBuildInfoDebug (*)
(*) - details omitted (listed previously)

我正在使用

kapt "com.android.databinding:compiler:2.2.0"

在我使用之前

androidProcessor "com.android.databinding:compiler:2.2.0"

它工作得很好......我做错了什么??

谢谢!

最佳答案

UPD:这是为 Android Gradle 插件 3.0.0-alpha3 修复的,在你的项目根 build.gradle 中,更改 buildscript 依赖项使用

classpath 'com.android.tools.build:gradle:3.0.0-alpha3'

这实际上是 Kotlin Gradle 插件 1.1.2-4 与 Android Gradle 插件 3.0.0-alpha1 互操作中的一个错误,由任务的输入和输出的设置方式(以及任务的设置方式)引起与依赖关系相连)。

谢谢 @VyacheslavGerasimov用于创建问题 KT-17936 .


作为临时解决方法,您可以尝试恢复到 Kotlin Gradle 插件 1.1.2-2 并禁用增量编译:

在项目的根目录 build.gradle 中,更改 Kotlin Gradle 插件的版本:

buildscript {
    ...
    dependencies {
        ...
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-2'
    }
}

local.properties 添加到项目根目录,使用以下行:

kotlin.incremental=false

这是一个 known issue Kotlin Gradle 插件 1.1.2-2 及更低版本与最新的 AGP 版本一起崩溃,禁用增量编译似乎可以修复该崩溃。

关于android - 如何在 Android Studio 3.0.0 中使用数据绑定(bind)和 Kotlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44035504/

相关文章:

java - onActivityCreated/onStart/onViewCreated 方法中的 getView() 出现 NullPointerException 警告

android - Gradle同步失败: Cause: failed to find target with hash string 'android-22'

android - Kotlin:回收站 View 断断续续

android - 应用程序 : How to show the user first unread message rather than latest unread message?

Android caffe Forward Prefilled() 在多线程对象中不起作用

java - Android - PushLink 可以进行静默更新吗?

android - 如何将android中的webview置于最前面?

android - Android Studio 构建错误

objective-c - 使用 vararg 格式化 Kotlin Native iOS 字符串

kotlin - 调用生成的 serializer() 方法时收到 NoClassDefFoundError