Android:尝试使用Databinding时,Kotlin执行失败

我想绑定视图使用新的android数据绑定库 。 我试着运行应用程序,并得到以下错误:

错误:执行任务':app:kaptDebugKotlin'失败。 内部编译器错误。 查看日志了解更多详情

以下是我的MainActivity.kt

import android.databinding.DataBindingUtil import android.support.v7.app.AppCompatActivity import android.os.Bundle import app.android.androidtexteditor.databinding.ActivityMainBinding import app.android.androidtexteditor.models.TextEditor class MainActivity : AppCompatActivity() { lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = DataBindingUtil.setContentView(this, R.layout.activity_main) var textEditor = TextEditor("content") binding.textEditor = textEditor binding.executePendingBindings() } } 

以下是我的TextEditor.kt

 class TextEditor(var content: String?) 

以下是我的activity_main.xml

 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" > <data> <variable name="textEditor" type="app.android.androidtexteditor.models.TextEditor"/> </data> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <jp.wasabeef.richeditor.RichEditor android:id="@+id/text_editor_content" android:text="@{textEditor.content}" android:layout_width="327dp" android:layout_height="478dp" android:layout_marginBottom="8dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" android:padding="20dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout> </layout> 

任何帮助将是很大apperciated

注意:当android:text="@{textEditor.content}"从xml中移除时,应用程序符合要求

编辑:

以下是日志

2017年11月11日星期二14:13:24,608 [thread 118] INFO – s.plugins.gradle.GradleManager – 指示gradle使用java / private / var / folders / tw / _9p_vd716zz1mr4lkp_69h880000gn / T / AppTranslocation / 3BF8BBE1-C94A-4F85 -9008-1FC1B3EE13FB / d / Android Studio 3.1 Preview.app/Contents/jre/jdk/Contents/Home 2017-11-11 14:13:24,683 [thread 118] INFO – oject.common.GradleInitScripts – 初始化脚本文件同步。 local.repo内容“allprojects {\ n buildscript {\ n知识库{\ n maven {url'/ private / var / folders / tw / _9p_vd716zz1mr4lkp_69h880000gn / T / AppTranslocation / 3BF8BBE1-C94A-4F85-9008-1FC1B3EE13FB / d / Android Studio 3.1 Preview.app/Contents/gradle/m2repository'}\n} \ n} \ n知识库{\ n maven {url'/ private / var / folders / tw / _9p_vd716zz1mr4lkp_69h880000gn / T / AppTranslocation / 3BF8BBE1-C94A-4F85-9008 -1FC1B3EE13FB / d / Android Studio 3.1 Preview.app/Contents/gradle/m2repository'}\n} \ n“2017-03-11 14:13:24,684 [thread 118] INFO – ild.invoker.GradleBuildInvoker – 构建命令行选项:[–configure-on-demand, – Pandroid.injected.invoked.from.ide = true,–init-script,/private/var/folders/tw/_9p_vd716zz1mr4lkp_69h880000gn/T/sync.local.repo2551.gradle] 2017-11-11 1

4:13:24,684 [thread 118] INFO – xecution.GradleExecutionHelper – 将命令行参数传递给Gradle Tooling API:–configure-on-demand -Pandroid.injected.invoked.from.ide = true –init-script / private / var / folders / tw / _9p_vd716zz1mr4lkp_69h880000gn / T / sync.local.repo2551.gradle 2017-11-11 14:13:24,921 [thread 100] INFO – idea.project.IndexingSuspender – 索引挂起(上下文:Gradle Build)2017 -11-11 14:13:26,683 [thread 100] INFO – idea.project.IndexingSuspender – 索引发布(context:Gradle Build)2017-11-11 14:13:26,686 [thread 116] INFO – roid.sdk.MessageBuildingSdkLog (com.android.ide.common.blame.Message $ Kind,java.lang.String,java.lang.String,com.google.common.collect.ImmutableList) java.lang.NoSuchMethodException:com.android.ide.common.blame.Message。(com.android.ide.common.blame.Message $ Kind,java.lang.String,java.lang.String,com.google.common .collect.ImmutableList)at jlang.Class.getConstructor0(Class.java:3082)at j

org.jetbrains.kotlin.android.KotlinOutputParserHelper $ simpleMessageConstructor $ 2.invoke(KotlinOutputParserHelper.kt:171)。在org.jetbrains.kotlin.android.KotlinOutputParserHelper.getSimpleMessageConstructor(KotlinOutputParserHelper.kt)处的kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:130)处调用(KotlinOutputParserHelper.kt:143) (KotlinOutputParserHelper.kt:272),位于org.jetbrains.kotlin.android.KotlinOutputParserHelper.createMessage(KotlinOutputParserHelper.kt: jetbrains.kotlin.android.KotlinOutputParserHelperKt.parse(KotlinOutputParserHelper.kt:41)at org.jetbrains.kotlin.android.KotlinOutputParser.parse(KotlinOutputParser.java:28)at com.android.ide.common.blame.p arser.ToolOutputParser.parseToolOutput(ToolOutputParser.java:86)at com.android.tools.idea.gradle.output.parser.BuildOutputParser.parseGradleOutput(BuildOutputParser.java:43)at com.android.tools.idea.gradle.project。 build.invoker.GradleTasksExecutorImpl.lambda $ collectMessages $ 5(GradleTasksExecutorImpl.java:487)at com.intellij.openapi.application.impl.ApplicationImpl $ 2.run(ApplicationImpl.java:334)at java.util.concurrent.Executors $ RunnableAdapter。调用(Executors.java:511)在java.util.concurrent.FutureTask.run(FutureTask.java:266)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)2017-11-11 14:13:26,687 [thread 116] INFO – roid.sdk.MessageBuildingSdkLog – Exception from KotlinOutputParser 2017-11-11 14:13:26,817 [e-1012-b01] INFO – ild.invoker.GradleBuildInvoker – Gradle构建在2s中有1个错误79ms 2017-11-11 14:13:26 ,868 [e-1012-b01] INFO – pl.ProjectRootManagerComponent – 项目根目录已经改变了2017-03-11 14:13:27,145 [thread 119] INFO – .diagnostic.PerformanceWatcher – 推送属性花了1ms; 一般的反应:好的; EDT响应:好2017-11-11 14:13:27,184 [thread 119] INFO – .diagnostic.PerformanceWatcher – 可转位文件迭代需要38ms; 一般的反应:好的; EDT响应:好2017-11-11 14:13:28,217 [J pool 1/4]警告 – hes.resolve.KotlinCacheService – 找不到正确的模块信息。 原因:分析元素类型com.android.tools.idea.databinding.LightGeneratedComponentClass不包含文件文本︰null 2017-11-11 14:13:28,217 [J pool 1/4]
WARN – .resolve.jvm.JvmAnalyzerFacade – 从LibraryInfo引用null(libraryName = com.android.databinding:library-1.3.1)引用的类是:JavaClassImpl:DATA绑定组件类
2017-11-11 14:13:28,217 [J pool 1/4] WARN – hes.resolve.KotlinCacheService – 找不到正确的模块信息。 原因:分析元素类型com.android.tools.idea.databinding.LightGeneratedComponentClass不包含文件文本︰null 2017-11-11 14:13:28,217 [J pool 1/4]
WARN – .resolve.jvm.JvmAnalyzerFacade – 从LibraryInfo引用null(libraryName = com.android.databinding:library-1.3.1)引用的类是:JavaClassImpl:DATA绑定组件类

经过几个小时的研究,我发现我使用的第三方库是问题: RichEditor 。 它不支持android: text