OffsetDateTime.now() требует API 26

Мне нужно использовать метод setStartTimestamp(OffsetDateTime startTimestamp) но мой minSdk 21, так что он показывает мне Call requires API level 26, Есть ли способ, как я могу использовать OffsetDateTime на более низких apis?

1 ответ

Решение

java.time API для Android требуют API 26.

Для более старых уровней API вы можете использовать ThreeTenABP, которая является версией JSR-310 для Android. java.time Backport для Java 6.

Вы можете использовать поддержку удаления сахара из API Java 8+ (Android Gradle Plugin 4.0.0+)

Это описано в этой ссылке

Просто вам нужно изменить файл build.gradle в модуле приложения следующим образом:

android {
  defaultConfig {
    // 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 {
  coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'
}
Другие вопросы по тегам