【问题标题】:Hilt Failed To BuildHilt 构建失败
【发布时间】:2020-11-25 18:13:19
【问题描述】:

我正在尝试从 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

我不知道错误在哪里,这是我的代码 我的应用类

@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();
} 
}

【问题讨论】:

    标签: android kotlin dagger-hilt


    【解决方案1】:

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

    @InstallIn(ApplicationComponent.class) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2021-08-05
      • 2021-11-11
      • 2021-04-27
      • 1970-01-01
      相关资源
      最近更新 更多