首页 > 解决方案 > Hilt 构建失败

问题描述

我正在尝试从 Dagger 迁移到 Hilt,但出现此构建错误

BaseApplication,预计将使用@DefineComponent 进行注释。找到:@kotlin.Metadata(mv={1, 4, 1}, bv={1, 0, 3}, k=1, d1={"\u0000\u0012\n\u0002\u0018\u0002\n\ u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\b\u0007\u0018\u00002\u00020\u0001B\u0005\u00a2\u0006\u0002\u001 b\u0010\u0003\u001a\u00020\u0004H\u0016\u00a8\u0006\u0005"}, d2={"Lcom/example/unioncoop/BaseApplication;", "Landroid/app/Application;", "()V" , "onCreate", "", "app_debug"}),@dagger.hilt.android.HiltAndroidApp

我不知道错误在哪里,这是我的代码 My Application Class

@HiltAndroidApp       
class BaseApplication : Application() {
override fun onCreate() {
    super.onCreate()
  }
}

活动课

@AndroidEntryPoint
class MainActivity : AppCompatActivity () {}

我的模块

@Module   
@InstallIn(BaseApplication.class)  
public class NetworkModule {
private static final String BASE_URL = "";

@Provides
OkHttpClient getOkHttpClient() {
    HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(message -> Log.w("Logger", "log: " + message));
    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

    return new OkHttpClient().newBuilder()
            .connectTimeout(30, TimeUnit.SECONDS)
            .readTimeout(5, TimeUnit.MINUTES)
            .writeTimeout(5, TimeUnit.MINUTES)
            .addInterceptor(interceptor)
            .build();
}

@Provides
public Gson getGson() {
    return new GsonBuilder()
            .registerTypeAdapterFactory(new NullStringToEmptyAdapterFactory())
            .serializeNulls()
            .setLenient()
            .create();
}

@Provides
Retrofit getRetrofit(OkHttpClient client, Gson gson) {
    return new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create(gson))
            .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
            .client(client)
            .build();
} 
}

标签: androidkotlindagger-hilt

解决方案


我刚刚在注释中将 BaseApplication 替换为 ApplicationComponent ,InstallIn如下所示,一切正常。

@InstallIn(ApplicationComponent.class) 

推荐阅读