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是會報錯的