You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose+Hilt开发Android应用遇未实现抽象方法报错

问题原因

你遇到的错误核心原因是:Dagger Hilt不允许在接口(interface)中使用@Provides注解。接口中的方法默认是抽象方法,Hilt无法为带@Provides的抽象方法生成实例提供逻辑,因此会提示存在未实现的抽象方法。

解决方案

将ApiModule从接口改为object单例类(推荐用object更简洁),保留@Provides方法的具体实现即可:

@Module
@InstallIn(SingletonComponent::class)
object ApiModule {
    @Singleton
    @Provides
    fun provideOpenWeatherApi(): WeatherApi {
        return Retrofit.Builder()
            .baseUrl(Constants.BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build()
            .create(WeatherApi::class.java)
    }
}
补充说明
  • @Provides用于提供实例的具体创建逻辑,必须放在有具体实现的类中(object类或普通类)
  • 只有@Binds注解(用于绑定接口与实现类)才需要放在接口中,且方法必须是抽象的

内容的提问来源于stack exchange,提问作者Edgar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 06:07:39