Hilt - 返回空对象引用的字段注入

Hilt - Field injection returning a null object refernece

这是我第一次使用 Hilt 进行 DI,我不确定我做错了什么。我正在尝试 Field inject 我的 TestClass 到我的 MainActivity,但是当我调用注入的 TestClass

的方法时它给了我一个空对象引用

我已经确保创建了一个 BaseApplication class,其中包含注释 HiltAndroidApp

@HiltAndroidApp
public class BaseApplication extends Application {
  ...
}

我正在尝试将 class 注入我的 MainActivity

import javax.inject.Inject;

public class TestClass {

    @Inject
    public TestClass() {
    }

    public String getName(){
        return "Hello World";
    }
}

并在我的 MainActivity 中使用 FieldInjection:

@AndroidEntryPoint
public class MainActivity extends AppCompatActivity implements TestAdapterCallback {

    @Inject
    TestClass testClass;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);

        Timber.d(testClass.getName()); //Giving a null object reference
    
        ...

我在 youtube 上关注了一个正在执行场注入的教程。不确定我在这里做错了什么。

我只在需要添加

时才在我的依赖项中添加 implementation 'com.google.dagger:hilt-android:2.37'
apply plugin: 'com.android.application'
apply plugin: 'dagger.hilt.android.plugin'

...

dependencies {
    implementation 'com.google.dagger:hilt-android:2.37
    annotationProcessor 'com.google.dagger:hilt-compiler:2.37'
}

buildscript {
    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'

        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.37'
    }
}