Dagger/Hilt 缺少绑定。没有 @Provides-annotated 方法就无法提供存储库

Dagger/Hilt missing binding. Repository cannot be provided without an @Provides-annotated method

我有这个界面

interface ShowsScheduleRepository {
    suspend fun getShowsSchedule(medium: String, timeSlot: String): ShowsSchedule
}

在此class

中提供
class GetShowsScheduleUseCase @Inject constructor(
    private val repository: ShowsScheduleRepository
)

来自

@Provides
@Singleton
fun provideShowsScheduleRepository(api: TDRetrofitApi): ShowsScheduleRepository {
    return ShowsScheduleRepoImpl(api)
}

然后这个 class 被注入到 viewModel

@HiltViewModel
class HomeFragmentViewModel @Inject constructor(
    private val getShowsSchedule: GetShowsScheduleUseCase
) : ViewModel() {

当我尝试构建时出现错误,它无法提供 ShowsScheduleRepository 没有 @Provides-annotated 方法

provideShowsScheduleRepository 方法应该放在模块 class 中(我的意思是 class 用 @Module 注释)。您确定此模块安装在正确的范围内吗?如果没有,请尝试添加 @InstallIn(SingletonComponent::class)。 (您可以根据需要将 SingletonComponent 替换为 here 描述的任何其他组件)

自我注意事项:将 AppModule 文件放在 HiltEntryPoint 所在的同一个 Android 模块中