我更新到最新的Android N sdk。我唯一不理解的是为什么我无法将java.time
导入到我的代码中?我认为Java8可以通过Android N使用。那么为什么Google没有添加java.time
包?
答案 0 :(得分:19)
Android N不支持Java 8的所有功能。 仅支持以下功能:
反思和与语言相关的API:
java.lang.FunctionalInterface
java.lang.annotation.Repeatable
java.lang.reflect.Method.isDefault()
和与可重复注释相关联的Reflection API,例如
AnnotatedElement.getAnnotationsByType(Class)
实用程序API:
java.util.function
有关详细信息,请查看以下链接:http://developer.android.com/preview/j8-jack.html
答案 1 :(得分:14)
可以使用适用于Android的java.time
API的backport库
答案 2 :(得分:8)
java.time
包仅在API 26(Android O)中添加:
https://developer.android.com/reference/java/time/package-summary.html
答案 3 :(得分:3)
从Android Gradle插件4.0.0开始,我们终于可以使用适当的c_1 + f(c_2)
包类了(几乎不用担心):
https://developer.android.com/studio/write/java8-support
java.time
,并且Android Gradle插件将其分解为Java 7。
要添加这些类支持,只需在构建文件中添加几行:
Optional, java.time, streams
完整列表如下:https://developer.android.com/studio/write/java8-support-table