Android 数据绑定不';升级到gradle插件2.3后无法工作
升级到Android 数据绑定不';升级到gradle插件2.3后无法工作,android,gradle-plugin,annotation-processing,Android,Gradle Plugin,Annotation Processing,升级到classpath'com.android.tools.build:gradle:2.3.0'后,为了内置注释处理器,我在数据绑定生成的所有类中都出现以下错误: :app:compileInternalDebugJavaWithJavac E:\Projects\Work-projects\mediteo-android\app\src\main\java\com\mediteo\mobile\presentation\daily\intake\adapter\DailyIntak
classpath'com.android.tools.build:gradle:2.3.0'
后,为了内置注释处理器,我在数据绑定生成的所有类中都出现以下错误:
:app:compileInternalDebugJavaWithJavac
E:\Projects\Work-projects\mediteo-android\app\src\main\java\com\mediteo\mobile\presentation\daily\intake\adapter\DailyIntakeItem.java:18: error: package com.mediteo.mobile.databinding does not exist
import com.mediteo.mobile.databinding.DailyIntakeHeaderItemBinding;
^
E:\Projects\Work-projects\mediteo-android\app\src\main\java\com\mediteo\mobile\presentation\daily\intake\adapter\DailyIntakeItem.java:19: error: package com.mediteo.mobile.databinding does not exist
import com.mediteo.mobile.databinding.DailyIntakeItemBinding;
........
Error:A default public constructor with no argument must be declared in IntakeLocal if a custom constructor is declared.
* What went wrong:
Execution failed for task ':app:compileInternalDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
但是,我可以在Android studio IDE中导航到这些文件
public class DailyIntakeHeaderItemBinding extends android.databinding.ViewDataBinding {
........
尝试使缓存无效/重新启动。或者可能是干净的构建。对我来说,问题在于新的注释处理命令
annotationProcessor
值得注意的是所有使用apt
的库(现在annotationProcessor
)根本原因是错误:如果声明了自定义构造函数,则必须在IntakeLocal中声明没有参数的默认公共构造函数。
,这是dagger抛出的错误
要解决此问题,我必须将lombok更新为最新版本:
org.projectlombok:lombok:1.16.14
我遇到了相同的错误,可以通过将其添加到app build.gradle依赖项来修复它:
apt 'com.android.databinding:compiler:2.3.0'