Мое приложение Android использует JAR, который использует несколько классов из java.time
, например LocalTime
, и, следовательно, требует как минимум Java 8.
Несколько источников в сети указывают, что более поздние версии Android и цепочка инструментов поддерживают Java 8.
Я создаю свое приложение с Gradle, но не использую (или не хочу использовать) Android Studio. Я использую плагин версии 3.1.4 (последняя версия, совместимая с Gradle 4.4, версия, которая поставляется с последней версией LTS Ubuntu, 18.04 на момент написания статьи). Минимальный SDK - 14, цель - 26. Версия инструментов сборки - 27.0.3.
Приложение прекрасно собирается и устанавливается, но когда оно пытается использовать один из классов, оно вылетает с исключением:
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/LocalTime;
Вопросы:
- Доступно ли
java.time
в версиях Android с поддержкой Java 8?
- Если так, какая минимальная версия API? (Я тестировал на Anbox, который поддерживает API 25.)
- Что-то еще мне не хватает?