Android Jetpack组件
Android Jetpack组件
guangdeshishe
这个作者很懒,什么都没留下…
展开
-
Android kotlin 使用Dagger2报错 InvocationTargetException 不能生成DaggerXXComponent
官方/网络示例:implementation 'com.google.dagger:dagger:2.x'kapt 'com.google.dagger:dagger-compiler:2.x'错误提示:Execution failed for task ':app:kaptDebugKotlin'.> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask原创 2022-01-11 23:06:52 · 1267 阅读 · 0 评论 -
Dagger2 kotlin中使用@Named总是编译报错
报错写法: @Named("key1") @Inject lateinit var httpObject: HttpObject @Named("key2") @Inject lateinit var httpObject2: HttpObject正确写法需要使用@field:Named(""): @field:Named("key1") @Inject lateinit var httpObject: HttpObject @fi原创 2022-01-13 21:03:36 · 933 阅读 · 0 评论 -
Hilt使用小结
Hilt是什么?Hilt是Google工程师找到Dagger2团队专门为Android定制的依赖注入框架,相对于Dagger2,Hilt使用起来更加简单,不需要创建各种Component类;使用依赖注入框架可以让我们的对代码进行解耦,减少代码量的编写。基本使用项目配置配置Hilt gradle插件buildscript { ... dependencies { ... classpath 'com.google.dagger:hilt-andro原创 2022-01-25 17:12:35 · 2132 阅读 · 0 评论 -
【Hilt】更新Hilt版本后找不到ApplicationComponent
问题:在使用Hilt单例的时候,我们一般需要在Module上添加注解@InstallIn(ApplicationComponent::class),例如:@InstallIn(ApplicationComponent::class)@Moduleclass HttpModule { @Singleton @Provides fun provideHttpObject() = HttpObject()}但是当Hilt升级到2.31以及之后的版本之后,会发现已经不支持A原创 2022-01-24 19:22:24 · 1897 阅读 · 2 评论 -
【Hilt】ClassCastException xxxDaggerBaseApplication_HiltComponents_SingletonC cannot be cast to xxMain
问题:项目接入Hilt后编译时报ClassCastException错误:Caused by: java.lang.ClassCastException: com.agile.base.DaggerBaseApplication_HiltComponents_SingletonC$ActivityRetainedCImpl$ActivityCImpl cannot be cast to com.example.myapplication.MainActivity_GeneratedInjector原创 2022-01-24 18:26:09 · 1364 阅读 · 0 评论 -
【Hilt】【kotlin】IllegalStateException: Unsupported metadata version. Check that your Kotlin version is
问题:在kotlin+java混合项目中接入Hilt后编译时报错如下:Execution failed for task ':app:kaptDebugKotlin'.> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction > java.lang.reflect.InvocationTargetExc原创 2022-01-24 17:12:02 · 6602 阅读 · 2 评论 -
【Hilt】Expected @AndroidEntryPoint to have a value. Did you forget to apply the Gradle Plugin?
问题:Android Studio在接入Hilt的时候,编译时总是提示Expected @AndroidEntryPoint to have a value. Did you forget to apply the Gradle Plugin?原因:因为项目之前接入了ARouter,在build.gradle中配置了自定义参数如下:javaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME原创 2022-01-24 16:37:04 · 1661 阅读 · 0 评论