首页 > 解决方案 > Gradle 注释处理器顺序 (Android)

问题描述

我正在编写一个基于代码生成的库。这个库通过注释生成匕首的模块。如何在 Dagger 的代码生成之前运行我的注释处理器?

现在它在构建时崩溃,因为 dagger 在生成模块之前尝试构建组件。

错误:

.ktC:\Users\syncended\AndroidStudioProjects\Daggerblade\app\build\tmp\kapt3\stubs\debug\dev\syncended\daggerblade\AppComponent.java:6: error: cannot find symbol
@dagger.Component(modules = {BookModule.class})
                             ^
  symbol: class BookModuleC:\Users\syncended\AndroidStudioProjects\Daggerblade\app\build\tmp\kapt3\stubs\debug\dev\syncended\daggerblade\AppComponent.java:7: error: [ComponentProcessor:MiscError] dagger.internal.codegen.ComponentProcessor was unable to process this interface because not all of its dependencies could be resolved. Check for compilation errors or a circular dependency with generated code.
public abstract interface AppComponent {
                ^Attempt to reopen a file for path C:\Users\syncended\AndroidStudioProjects\Daggerblade\app\build\generated\source\kapt\debug\dev\syncended\blade\BookModule.kt
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
   > java.lang.reflect.InvocationTargetException (no error message)

* Try:

标签: kotlingradledagger-2annotation-processingkapt

解决方案


推荐阅读