Dagger 2 组件 class 未生成

Dagger 2 Component class not generated

我目前正在学习 dagger2,但我有问题是 daggercomponent class 没有生成,我不知道原因

implementation 'com.google.dagger:dagger-android:2.27'
implementation 'com.google.dagger:dagger-android-support:2.27'  
annotationProcessor 'com.google.dagger:dagger-android-processor:2.27'

public class Nugets {
    @Inject
    public Nugets() {
    }
}

public class Water {

    @Inject
    public Water() {
    }
}

public class Coffee {

    Nugets nugets;
    Water water;

    @Inject
    public Coffee(Nugets nugets, Water water) {
        this.nugets = nugets;
        this.water = water;
    }
}

@Component
public interface CoffeeComponent {
    Coffee getCoffee();
}

当我试图找到 DaggerCoffeeComponent class 时,我没有找到它。 注意我重建项目

您必须实施 dagger 而不是 dagger-android。不要忘记制作项目或重建

implementation 'com.google.dagger:dagger:2.27'
annotationProcessor 'com.google.dagger:dagger-compiler:2.27'

你问的问题我遇到过很多次了,幸运的是我知道如何解决它。 这里有一些简单的方法可以解决它。

  1. 你可以clean/rebuild项目来解决它。
  2. 您可以invalidate/cache重启您的android工作室来解决。
  3. 您可以删除安装 android studio.but 的缓存文件夹,您必须确保 android 工作室已关闭。现在你可以重新启动它,你的问题就解决了。
  4. 您可以重命名 dagger 组件并重建您的项目以生成 class。这解决了您的问题。

这里有一些快速的方法,你可以尝试解决。