在新的Android Studio 3.1上构建时出错

时间:2018-03-27 09:24:09

标签: android android-studio gradle data-binding kotlin

我在尝试构建项目时将Android Studio更新为3.1稳定版并获得此错误。起初有DataBinding的问题,我修复了它们,然后我发现了这个问题。

org.gradle.api.GradleException: Compilation error. See log for more details
at org.jetbrains.kotlin.gradle.tasks.TasksUtilsKt.throwGradleExceptionIfError(tasksUtils.kt:8)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.processCompilerExitCode(Tasks.kt:415)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:389)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:251)
at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(Tasks.kt:215)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)

[这不是错误日志的完整版本]

有人找到解决方案吗?

3 个答案:

答案 0 :(得分:1)

这个建议取决于你的项目有多复杂(这些建议可能没用):

  • Kotlin plugin更新为上一个版本

  • 删除

    kapt { generateStubs = true }

  • 如果您使用数据绑定,请添加到gradle.properties此行android.databinding.enableV2=true

  • 更新gradle
  • 更新构建工具

感谢我的同事找到这些事实

答案 1 :(得分:1)

更新您的kotlin版本" 1.2.31" 在应用程序级别gradle文件中添加以下依赖项

  

编译" org.jetbrains.kotlin:kotlin-stdlib"

android {
  ...

  sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
  }
}

它可能对你有帮助:))

答案 2 :(得分:0)

只需签出此项目并查看build.gradle文件。 我刚刚为Android Studio 3.1更新了这个项目并遇到了与你相同的错误,但是在build.gradle中进行了一些更改后,现在一切正常。

https://github.com/thierryxing/Douban

主要更新:

apply plugin: 'kotlin-kapt'

dependencies {
    kapt "com.android.databinding:compiler:$gradle_version"
}