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'
}