Rep*_*tor 5 android dependency-injection kotlin dagger-2 dagger-hilt
在 hilt 更新到 2.32-alpha 后,我收到以下错误。
\n即使提供了相关元素后,它仍然在抱怨。\n我很确定它与范围有关,但无法对其进行排序,日志如下,
\n ^C:\\Users\\VikramSingh\\Desktop\\work\\Mine\\mobiquity\\app\\build\\generated\\source\\kapt\\debug\\reprator\\mobiquity\\MobiQuityApp_HiltComponents.java:145: error: [Dagger/MissingBinding] @dagger.hilt.android.qualifiers.ActivityContext android.content.Context cannot be provided without an @Provides-annotated method.\n public abstract static class SingletonC implements HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedComponentBuilderEntryPoint,\n ^\n A binding with matching key exists in component: reprator.mobiquity.MobiQuityApp_HiltComponents.ActivityC\n @dagger.hilt.android.qualifiers.ActivityContext android.content.Context is injected at\n reprator.mobiquity.addcity.di.AddCityModule.provideGeoCoder(context)\n android.location.Geocoder is injected at\n reprator.mobiquity.addcity.di.AddCityModule.provideReverseGeoCoding(geoCoder)\n reprator.mobiquity.addcity.ReverseGeoCoding is injected at\n reprator.mobiquity.addcity.AddLocationViewModal(\xef\xbf\xbd, reverseGeoCoding, \xef\xbf\xbd)\n reprator.mobiquity.addcity.AddLocationViewModal is injected at\n reprator.mobiquity.addcity.AddLocationViewModal_HiltModules.BindsModule.binds(arg0)\n @dagger.hilt.android.internal.lifecycle.HiltViewModelMap java.util.Map<java.lang.String,javax.inject.Provider<androidx.lifecycle.ViewModel>> is requested at\n dagger.hilt.android.internal.lifecycle.HiltViewModelFactory.ViewModelFactoriesEntryPoint.getHiltViewModelMap() [reprator.mobiquity.MobiQuityApp_HiltComponents.SingletonC ? reprator.mobiquity.MobiQuityApp_HiltComponents.ActivityRetainedC ? reprator.mobiquity.MobiQuityApp_HiltComponents.ViewModelC][WARN] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: androidx.room.RoomProcessor (DYNAMIC).\nRun Code Online (Sandbox Code Playgroud)\n存储库:https://github.com/TheReprator/mobiquity/tree/hilt_scope_issue
\n此致,\n维克拉姆·辛格
\n我认为您应该尝试使用@ActivityScopedor注释提供方法@ActivityRetainedScoped,而我在代码中注意到的关于 AddLocationViewModal 的另一件事,我认为您应该使用注释它@HiltViewModel并使其类似于以下代码:
@HiltViewModel
class AddLocationViewModal @Inject constructor(
private val savedStateHandle: SavedStateHandle,
private val appCoroutineDispatchers: AppCoroutineDispatchers,
private val reverseGeoCoding: ReverseGeoCoding,
private val locationUseCase: LocationUseCase
) : ViewModel() {...}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4896 次 |
| 最近记录: |