Рукоять не удалось построить

Я пытаюсь перейти с 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 \ u0010 \ u0002J \ 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();
} 
}

person raed    schedule 25.11.2020    source источник


Ответы (1)


Я просто заменил BaseApplication на ApplicationComponent в аннотации InstallIn, как показано ниже, и все работало нормально.

@InstallIn(ApplicationComponent.class) 
person raed    schedule 26.11.2020