前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

Android: 追加のJava言語APIサポート(Java8)

Android Gradle Plugin を4.0.0以上にするとD8/R8のDesugaringによってほぼすべての端末でJava8の追加APIが利用できるようになりますよ、という記事。

medium.com

設定は以下の通り。coreLibraryDesugaringEnabledcoreLibraryDesugaring を追加すれば良いみたい。

android {
  defaultConfig {
    //Only required when setting minSdkVersion to 20 or lower
    multiDexEnabled true
  }

  compileOptions {
    // Flag to enable support for the new language APIs
    coreLibraryDesugaringEnabled true
    // Sets Java compatibility to Java 8
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

dependencies {
  // Dependency with the implementation code for the APIs
  coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.5'
}

これまではJava8の一部が使えるだけだったけど、さらに多くのJava8の機能が使えるようになったということかな。といっても本家はすでにJava14だけど。 java.time パッケージのクラスが使えるようになるのは朗報なので適用しておこう。