Flo*_*ngb 2 android gradle kotlin android-viewmodel dagger-hilt
我在我的 Android 应用程序 (Kotlin) 中使用视图模型和 Hilt。但我在初始化视图模型时遇到问题:
private val myViewModel: MyViewModel by viewModels()
该应用程序编译正常,我可以运行它,但 Android Studio 指示错误,当我将光标移到其上方时,我收到以下消息:
无法将使用 JVM 目标 1.8 构建的字节码内联到使用 JVM 目标 1.6 构建的字节码中。请指定正确的“-jvm-target”
在我的构建 gradle 中,我为编译选项指定了 Java 1.8(甚至对于 Kotlin)。
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)
这是我的视图模型和片段的注释
@HiltViewModel
class MyViewModel: ViewModel()
Run Code Online (Sandbox Code Playgroud)
和
@AndroidEntryPoint
class MyFragment: Fragment()
Run Code Online (Sandbox Code Playgroud)
我的一些依赖项:
'androidx.core:core-ktx:1.5.0'
'androidx.appcompat:appcompat:1.3.0'
'com.google.dagger:hilt-android:2.35'
'com.google.dagger:hilt-android-compiler:2.35'
"androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"
Run Code Online (Sandbox Code Playgroud)
有人遇到过类似的问题吗?感谢您的帮助 !
小智 7
我有同样的问题,除了减少 Kotlin 版本之外没有任何帮助。我将 1.5.31 改为 1.5.10,错误消失了。我在 build.gradle 文件中的更正如下:
构建脚本 { ext.kotlin_version = '1.5.10'
...
依赖项 { 类路径“org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version”
新的 Kotlin 版本似乎有问题。