我更新到最新的 Android N sdk。我唯一不明白的是为什么我无法导入java.time
进入我的代码?我以为Java8可以通过Android N获得。那为什么Google不添加java.time
包裹?
java.time
仅在 API 26 (Android O) 中添加了包:https://developer.android.com/reference/java/time/package-summary.html https://developer.android.com/reference/java/time/package-summary.html
UPDATE
从 Android Gradle 插件 4.0 版本开始,您可以使用java.time
API(以及许多其他 Java 8 语言 API)without您的应用程序需要最低 API 级别:https://developer.android.com/studio/write/java8-support#library-desugaring https://developer.android.com/studio/write/java8-support#library-desugaring
使用 Android Gradle 插件 4.0.0 或更高版本构建应用程序时,支持以下 API 集:
- 顺序流(
java.util.stream
)
- 的一个子集
java.time
java.util.function
- 最近添加的内容
java.util.{Map,Collection,Comparator}
- 选项(
java.util.Optional
, java.util.OptionalInt
and java.util.OptionalDouble
)以及其他一些与以下有用的新类
以上API
- 一些补充
java.util.concurrent.atomic
(新方法AtomicInteger
, AtomicLong
and AtomicReference
)
-
ConcurrentHashMap
(针对 Android 5.0 修复了错误)
要启用对这些语言 API 的支持,需要包含以下几行build.gradle
file:
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.4'
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)