Androidのビルドエラー - Calls to Java default methods are prohibited in JVM target 1.6

アンドロイドスタジオを鼻間違ったコードをビルドし、次のようなエラーに会った。 jvmを1.8に変更してくれたようだそれでもエラーが発生しますね。

calls to Java default methods are prohibited in JVM target 1.6. Recompile with '-jvm-target 1.8'

Java default methods are prohibited in JVM target 1.6

グーグリングて解決方法を見つけました。

解決方法1

Appの build.gradleでandroidの中に、次のコードを追加します。

android {
  ...
  compileOptions {
      sourceCompatibility JavaVersion.VERSION_1_8
      targetCompatibility JavaVersion.VERSION_1_8
  }
  kotlinOptions {
      jvmTarget = '1.8'
      apiVersion = '1.1'
      languageVersion = '1.1'
  }
  ...
}

上記のコードは、compile optionとkotlin optionでtargetを1.8に変更してくれる内容です。 上記のコードを追加して再構築をしてみると、ビルドが成功します。

解決方法2

上記他の方法では、android tagしかtasksに設定する方法もあります。

android {
  ...
}

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8

    kotlinOptions {
        jvmTarget = '1.8'
        apiVersion = '1.1'
        languageVersion = '1.1'
    }
}

参考

次のサイトを参照していました。

Related Posts

codechachaCopyright ©2019 codechacha