Ibr*_*zin 6 android dependency-injection kotlin android-studio dagger-hilt
添加了刀柄依赖项:
构建.gradle(项目)
def hilt_version = "2.38.1"
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
Run Code Online (Sandbox Code Playgroud)
构建.gradle(应用程序)
plugins {
id 'dagger.hilt.android.plugin'
....
}
....
dependencies {
implementation "com.google.dagger:hilt-android:2.38.1"
kapt "com.google.dagger:hilt-compiler:2.38.1"
.......
}
Run Code Online (Sandbox Code Playgroud)
我还有一个全局应用程序类:
我的应用程序.kt
@HiltAndroidApp
class MyApplication : Application()
Run Code Online (Sandbox Code Playgroud)
在我的清单中:
清单.xml
<application
android:allowBackup="true"
android:name=".global.MyApplication"/>
Run Code Online (Sandbox Code Playgroud)
现在,我创建一个模块
网络模块.kt
@Module
@InstallIn(SingletonComponent::class)
class NetworkModule {
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的代码时出现错误:
**任务“:app:kaptDebugKotlin”执行失败。
执行 org.jetbrains.kotlin.gradle.internal.KaptExecution java.lang.reflect.InitationTargetException 时发生失败(无错误消息)**
当我删除这些时: @Module()和@InstallIn()
错误消失了...
可能是什么问题呢?向我显示的错误根本没有提供任何信息。
因此,在针对版本 31 (Android 12) 时集成 Hilt 似乎存在问题。
当我有:
compileSdkVersion 31
buildToolsVersion "31.0.0"
defaultConfig {
minSdkVersion 21
targetSdkVersion 31
}
Run Code Online (Sandbox Code Playgroud)
出现错误...
但是当我更改为:
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
minSdkVersion 21
targetSdkVersion 30
}
Run Code Online (Sandbox Code Playgroud)
它开始工作,没有那个错误..
针对 Android 12 时集成 Hilt 出现问题(可能)
| 归档时间: |
|
| 查看次数: |
11024 次 |
| 最近记录: |