Super calls to Java default methods are prohibited in JVM target 1.6. Recompile with '-jvm-target 1
这个是我在kotlin中使用DefaultLifecycleObserver的时候的报错。平时没怎么注意,然后搜了一圈才发现我的kotlin的jvm是1.6.我们把它改成1.8就可以了,报错是因为我们的DefaultLifecycleObserver必须要用用jdk8。具体解决步骤:
1、Flie-->Settings-->other Settings-->kotlin Compiler -->kotlin to JVM -->target JVM Version 下拉选择1.8
2、在app的build.gradle中加入配置,注意是在android下哟
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
上面那个是控制java的,下面的是kotlin的,但是两个都要设置上,不然老版本的kotlin是会报错的