【问题标题】:OffsetDateTime.now() requires API 26OffsetDateTime.now() 需要 API 26
【发布时间】:2018-03-18 14:07:31
【问题描述】:

我需要使用方法setStartTimestamp(OffsetDateTime startTimestamp),但我的 minSdk 是 21,所以它显示我 Call requires API level 26。有什么办法可以在较低的 api 上使用 OffsetDateTime?

【问题讨论】:

    标签: java android


    【解决方案1】:

    您可以使用 Java 8+ API 脱糖支持(Android Gradle Plugin 4.0.0+)

    this link中有描述

    您只需在应用模块中修改 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'
    }
    

    【讨论】:

      【解决方案2】:

      java.time Android 上的 API 需要 API 26。

      对于较旧的 API 级别,您可以使用 ThreeTenABP,它是 JSR-310 的 Android 版本 java.time Java 6 的反向端口。

      【讨论】:

        猜你喜欢
        • 2019-09-22
        • 1970-01-01
        • 2018-02-02
        • 1970-01-01
        • 1970-01-01
        • 2019-08-28
        • 2017-12-26
        • 1970-01-01
        • 2019-02-12
        相关资源
        最近更新 更多