Jenkins:Android 项目构建失败(生成失败 databinding/dagger 类)

Jenkins: Android Project Failing to build (fails generating databinding/dagger classes)

我工作场所的 android 团队正在努力获得 C.I。与詹金斯一起工作,但詹金斯在构建项目时遇到了麻烦。该项目使用下面的命令行在我们的开发机器上正确构建,但无法在 Jenkins 机器上构建。注意:我们有另一个 jenkins 能够构建的项目,其中包含数据绑定和匕首。

我们收到的错误是

:app:compileDevDebugJavaWithJavac/<some-file-path> - <some_class>:27: error: cannot find symbol
import <DaggerGeneratedClass>;

我们知道没有生成数据绑定 类。如果我们转到我们的构建目录 "intermediates/classes//debug//databinding",我们会看到那里什么也没有,但是在我们的开发机器上,数据绑定 类 确实会生成。有谁知道如何解决这个问题?

构建项目的命令行

./gradlew assemble

我们找到了解决问题的方法。虽然我们不知道为什么这个解决方案有效。我们在我们的项目中使用 kotlin,并将我们所有的 annotationProcessor 切换为 kapt。

kapt "com.google.dagger:dagger-android-processor:$daggerVersion"
kapt "com.google.dagger:dagger-compiler:$daggerVersion"
kapt "com.jakewharton:butterknife-compiler:$butterknifeVersion"
kapt "com.android.databinding:compiler:$plugin_version"