android - 任务“:app:dataBindingGenBaseClassesBetaDebug”执行失败
问题描述
**错误:任务“:app:dataBindingGenBaseClassesBetaDebug”执行失败。
不是一个有效的名字:switch
**
将 android studio 更新到 4.2.1 版后无法运行构建。
buildFeatures { viewBinding true }
错误详情:
FAILURE:构建失败并出现异常。
- 出了什么问题:任务“:app:dataBindingGenBaseClassesBetaDebug”执行失败。不是一个有效的名字:switch
原因:java.lang.IllegalArgumentException:不是一个有效的名称:在 com.squareup.javapoet.Util.checkArgument(Util.java:53) 的 com.squareup.javapoet.FieldSpec.builder(FieldSpec.java:91) 处切换android.databinding.tool.ext.Javapoet_extKt.fieldSpec(javapoet_ext.kt:60) 在 android.databinding.tool.writer.JavaFileGenerator.bindingFields(ViewBinderGenerateJava.kt:102) 在 android.databinding.tool.writer.JavaFileGenerator.access$ bindingFields(ViewBinderGenerateJava.kt:52) at android.databinding.tool.writer.JavaFileGenerator$typeSpec$1.invoke(ViewBinderGenerateJava.kt:81) at android.databinding.tool.writer.JavaFileGenerator$typeSpec$1.invoke(ViewBinderGenerateJava.kt: 52) 在 android.databinding.tool.ext.Javapoet_extKt.classSpec(javapoet_ext.kt:39) 在 android.databinding.tool.writer.JavaFileGenerator.typeSpec(ViewBinderGenerateJava.kt:73) 在 android。databinding.tool.writer.JavaFileGenerator.create(ViewBinderGenerateJava.kt:69) at android.databinding.tool.writer.ViewBinderGenerateJavaKt.toJavaFile(ViewBinderGenerateJava.kt:43) at android.databinding.tool.BaseDataBinder$generateAll$2.accept(BaseDataBinder .kt:82) at android.databinding.tool.BaseDataBinder$generateAll$2.accept(BaseDataBinder.kt:34) at android.databinding.tool.BaseDataBinder.generateAll(BaseDataBinder.kt:63) at com.android.build.gradle .internal.tasks.databinding.DataBindingGenBaseClassesTask$CodeGenerator.run(DataBindingGenBaseClassesTask.kt:228) at com.android.build.gradle.internal.tasks.databinding.DataBindingGenBaseClassesTask$writeBaseClasses$$$inlined$recordTaskAction$1.invoke(BaseTask.kt: 67) 在 com.android.build.gradle.internal.tasks.databinding 的 com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51)。DataBindingGenBaseClassesTask.writeBaseClasses(DataBindingGenBaseClassesTask.kt:255) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
解决方案
推荐阅读
- c# - 如何使用位图正确循环像素扫描
- c# - 获取 2 个给定地址之间的所有可能 IP
- sfml - 是否可以在 sfml 中创建一个由平行四边形、一个矩形和两个轮子组成的汽车对象?
- c# - 如何查询EF中的相邻行?
- spring - 如何将 Hadoop 作为 Spring 应用程序测试套件的一部分运行?
- java - 距离矩阵 API / java
- c++ - 按钮按下打开 OLED ESP32
- c# - npgsql.EntityFrameworkCore.PostgreSQL - 带有 json 参数的执行函数不起作用
- python - Python XPATH 从表格中获取数据
- asp.net-core - 服务器和客户端的声明不匹配