提示:@DefineComponent dagger.hilt.components.SingletonComponent 缺少父声明
Hilt : @DefineComponent dagger.hilt.components.SingletonComponent is missing a parent declaration
我正在使用 Jetpack Compose + Hilt + Coroutines 建立一个项目。我没有使用任何片段。它是一个基于 activity(ComponentActivity) 的项目。我使用了最新版本:
科特林:1.4.31 &
刀柄:2.33-beta
这是 logcat 错误快照:
Logcat snapshot
我知道之前有人问过这个问题,但问题是使用已弃用的 Hilt 库,其中“ApplicationComponent”在 AppModule 中已被弃用。请查看设置:
应用程序模块:
@Module
@InstallIn(SingletonComponent::class)
object AppModule{
//
}
应用类:
@HiltAndroidApp
class App: Application()
主要活动:
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
home()
}
}
}
@Composable
fun home(model: UserViewModel = viewModel()) {
val items = model.fetchUserList.observeAsState(initial = listOf<UserDomain>())
val test = items.value
Log.d("test_data",test.toString())
}
视图模型:
@HiltViewModel
class UserViewModel @Inject constructor (private val mainRepository: MainRepository) : ViewModel() {
val fetchUserList = liveData {
emit(Resource.loading(data = null))
emit(mainRepository.getEmployee())
}
}
Hilt 依赖性:
// Hilt dependency injection
implementation "com.google.dagger:hilt-android:2.33-beta"
kapt "com.google.dagger:hilt-android-compiler:2.28-alpha"
// ViewModel
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
// When using Kotlin.
kapt 'androidx.hilt:hilt-compiler:1.0.0-beta01'
更新您的刀柄编译器依赖项:
kapt "com.google.dagger:hilt-android-compiler:2.33-beta"
我正在使用 Jetpack Compose + Hilt + Coroutines 建立一个项目。我没有使用任何片段。它是一个基于 activity(ComponentActivity) 的项目。我使用了最新版本: 科特林:1.4.31 & 刀柄:2.33-beta
这是 logcat 错误快照: Logcat snapshot
我知道之前有人问过这个问题,但问题是使用已弃用的 Hilt 库,其中“ApplicationComponent”在 AppModule 中已被弃用。请查看设置:
应用程序模块:
@Module
@InstallIn(SingletonComponent::class)
object AppModule{
//
}
应用类:
@HiltAndroidApp
class App: Application()
主要活动:
@AndroidEntryPoint
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
home()
}
}
}
@Composable
fun home(model: UserViewModel = viewModel()) {
val items = model.fetchUserList.observeAsState(initial = listOf<UserDomain>())
val test = items.value
Log.d("test_data",test.toString())
}
视图模型:
@HiltViewModel
class UserViewModel @Inject constructor (private val mainRepository: MainRepository) : ViewModel() {
val fetchUserList = liveData {
emit(Resource.loading(data = null))
emit(mainRepository.getEmployee())
}
}
Hilt 依赖性:
// Hilt dependency injection
implementation "com.google.dagger:hilt-android:2.33-beta"
kapt "com.google.dagger:hilt-android-compiler:2.28-alpha"
// ViewModel
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
// When using Kotlin.
kapt 'androidx.hilt:hilt-compiler:1.0.0-beta01'
更新您的刀柄编译器依赖项:
kapt "com.google.dagger:hilt-android-compiler:2.33-beta"