我正尝试在我的安卓应用程序中使用java.time.LocalDate,但是如果我尝试导入它,那么java.time中的任何类都会在android studio 1.1中给出一个无法解析符号的错误
我能弄明白的唯一原因是它不支持java 8,真的是这样吗?
发布于 2015-02-26 22:45:07
是的,Android不支持Java-8。关于Java-8中包含的新的date/time-API,您可以看看这个问题:
http://code.google.com/p/android/issues/detail?id=62192
目前还没有在Google Android中引入JSR-310 (java.time-package)的计划。
发布于 2017-08-25 02:13:48
最后,Java 8中包含的date/time-API被添加到最近发布的Android API级别26中。
发布于 2021-03-05 15:05:32
多亏了java.time去丑化支持(Android Gradle Plugin 4.0.0+),你现在可以使用Java和其他Java,而不需要为你的应用程序设置最低的API级别。
https://developer.android.com/studio/write/java8-support#library-desugaring
简而言之,您必须使用Android Gradle plugin 4.0.0或更高版本,并在compileOptions中包含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
}
}
https://stackoverflow.com/questions/28745205
复制相似问题