相关疑难解决方法(0)

Gradle插件更新后,Android Databinding构建失败并迁移到annotationProcessor

  • 要在我的Android Studio版本中支持Instant Run,我需要将Gradle插件从版本升级2.2.32.3.3
  • 我知道我应该迁移到annoationProcessor,我相信我已经正确地遵循了该指南
  • 执行此操作后,Android DataBinding代码生成失败

与之前相关的迁移指南指出,我所需要的只是

  • 确保您使用的是Android Gradle 2.2插件或更新版本
  • 从构建脚本中删除android-apt插件
  • 将所有apt,androidTestApt和testApt依赖项更改为新格式

这应该是成功构建项目所需的全部内容.但它没有建立.

构建输出

Gradle构建完成了101个错误和23个警告(12秒481ms)

所有错误都遵循相同的模式:

  • C:\用户\ FooAdapter.java
    • 错误:包com.example.app.databinding不存在
    • 错误:找不到符号类 ItemFooBinding

在构建控制台中可以找到一条有趣的消息:

警告:任何处理器都无法识别以下选项:'[android.databinding.minApi,android.databinding.enableDebugLogs,android.databinding.sdkDir,android.databinding.bindingBuildFolder,android.databinding.enableForTests,android.databinding.modulePackage, android.databinding.generationalFileOutDir,android.databinding.xmlOutDir,android.databinding.artifactType,android.databinding.printEncodedErrors,android.databinding.isTestVariant]'

我想指出......

  • 我认为我在某些XML文件,绑定表达式或命名问题中没有错误.当我使用旧的gradle插件版本(以及所有其他源文件是最新的)切换回Git分支时,同一组源和XML构建
  • 我也随着讨论的输出生成错误的极限在这里,虽然这似乎并不相关,现在,因为你可以看到,我现在有"只有" 101个错误.:)

附加信息

以下差异显示了我如何修改我的gradle文件:

  1. build.gradle DiffChecker链接
  2. app/build.gradle DiffChecker链接

另外,作为一个快速概述,这里是项目使用的一些"更有趣"的插件和库的列表:

  • 科特林
  • Android数据绑定
  • 领域
  • 改造
  • 匕首
  • ButterKnife(我知道......)
  • Multidex支持库

有没有人知道可能是什么问题?任何帮助或想法将非常值得赞赏!

android android-build android-studio android-gradle-plugin android-databinding

10
推荐指数
2
解决办法
6383
查看次数