Lea*_*ira 96 android kotlin android-studio 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)
Run Code Online (Sandbox Code Playgroud)
我在用
kapt "com.android.databinding:compiler:2.2.0"
Run Code Online (Sandbox Code Playgroud)
在我使用之前
androidProcessor "com.android.databinding:compiler:2.2.0"
Run Code Online (Sandbox Code Playgroud)
它工作得很好......我做错了什么?
谢谢!
hot*_*key 78
UPD:这是针对Android Gradle插件3.0.0-alpha3修复的,在你的项目根目录中build.gradle,更改buildscript dependencies为使用
classpath 'com.android.tools.build:gradle:3.0.0-alpha3'
Run Code Online (Sandbox Code Playgroud)
这实际上是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'
}
}
Run Code Online (Sandbox Code Playgroud)
local.properties使用以下行添加到项目根目录:
kotlin.incremental=false
Run Code Online (Sandbox Code Playgroud)
Kotlin Gradle插件1.1.2-2及更低版本与最新的AGP版本崩溃是一个众所周知的问题,禁用增量编译似乎可以解决这个崩溃问题.
Rub*_*uck 19
您似乎在模块级别的app .gradle中需要3个gradle条目来添加数据绑定
apply plugin: 'kotlin-kapt'android {
...
dataBinding {
enabled = true
}
}dependencies {
......
kapt "com.android.databinding:compiler:$compiler_version"
}
请注意,我将编译器版本作为项目级构建gradle中的变量,因此可以从单个位置进行管理
默认是: ext.kotlin_version = '1.1.3-2'
我添加了括号语法:
ext{
kotlin_version = '1.1.3-2'
compiler_version = '3.0.0-beta6'
}
Run Code Online (Sandbox Code Playgroud)
Pro*_*kar 17
对于那些仍在寻找合适解决方案的人来说,谷歌已经在Android Studio 3.0 Canary 3版本中解决了这个问题.
2017年6月2日星期五
我们刚刚向Canary和Dev Channels发布了Android Studio 3.0 Canary 3.Android Gradle Plugin 3.0.0-alpha3也是通过maven.google.com发布的.此版本修复了Gradle,Kotlin和许多其他修复程序.我们继续修复Studio 3.0的所有区域中的错误,因为我们稳定了我们的功能,所以请继续传递反馈.
工作gradle配置:
build.gradle(项目)
buildscript {
ext.kotlin_version = '1.1.2-4'
repositories {
jcenter()
maven {
url 'https://maven.google.com'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
Run Code Online (Sandbox Code Playgroud)
build.gradle(模块)
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
android {
dataBinding.enabled = true
}
dependencies {
kapt "com.android.databinding:compiler:3.0.0-alpha3"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19516 次 |
| 最近记录: |