我的Android应用使用的JAR依赖于java.time
中的几个类,例如LocalTime
,因此至少需要Java 8。
网上有许多消息来源指出,更高版本的Android和工具链支持Java 8。
我使用gradle构建我的应用程序,但不使用(或希望使用)Android Studio。我使用的插件版本为3.1.4(与Gradle 4.4兼容的最新版本,该版本在撰写本文时已随Ubuntu 18.04的最新LTS一起提供)。最低SDK为14,目标为26。构建工具版本为27.0.3。
该应用程序可以正常构建和安装,但是当尝试使用其中一个类时,它会崩溃并出现以下异常:
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/LocalTime;
问题:
java.time
在支持Java 8的Android版本上可用吗?答案 0 :(得分:4)
在支持Java 8的Android版本上可以使用java.time吗?
是的
如the JavaDocs中所述,如果是,最低API版本是什么?
LocalDateTime
在API级别26和更高版本中可用(请参见右上角)。
我还有什么想念的吗?
您可以考虑使用a backport的Java 8日期/时间API。