无法解析符号';java.time.LocalDate';android studio中的错误

无法解析符号';java.time.LocalDate';android studio中的错误,java,android,android-studio,java-8,java-time,Java,Android,Android Studio,Java 8,Java Time,我试图在我的android应用程序中使用java.time.LocalDate,但是如果我尝试导入它,那么来自java.time的任何类都会在android studio 1.1中出现无法解决的符号错误 我能找到的唯一原因是它不支持Java8。真的是这样吗?是的,Android不支持Java-8。关于Java-8中包含的新日期/时间API,您可以查看以下问题: 目前没有计划在谷歌安卓系统中引入JSR-310(java.time package)。Android API等级26 Android

我试图在我的android应用程序中使用java.time.LocalDate,但是如果我尝试导入它,那么来自java.time的任何类都会在android studio 1.1中出现无法解决的符号错误


我能找到的唯一原因是它不支持Java8。真的是这样吗?

是的,Android不支持Java-8。关于Java-8中包含的新日期/时间API,您可以查看以下问题:

目前没有计划在谷歌安卓系统中引入JSR-310(java.time package)。

Android API等级26 Android API level 26获得了java.time的实现,包括您的类

早期的Android
对于安卓最后,Java8中包含的日期/时间API被添加到最近发布的安卓API级别26中


由于API desugaring支持(Android Gradle Plugin 4.0.0+),您现在可以使用java.time API和其他java 8+API,而不需要应用程序的最低API级别

简而言之,您必须使用Android Gradle插件4.0.0或更高版本,并在编译选项中包含
coreLibraryDesugaringEnabled true

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

+1提示Three Ten backport不是一个完整的backport(i18n支持因环境变化而不同,日历支持也较少)。java.time添加在API26@maracuja juice中,因此在我的修订答案中指出。谢谢,我觉得很有趣,安卓工作室并没有对此发出警告?另一个问题其实并不是重复的。它一般询问Java8,而这里的问题集中在一个特定的类包上。现在在2016年,您可以在Android开发中使用Java8语言功能,但不能使用Java.time类。所以有两个不同的问题,两个不同的解决方案,两个不同的问题。但是没有用,因为它只支持当前min SDK为26的情况