Ошибка ThreeTen-Backport на Android – ZoneRulesException: файлы данных с часовыми поясами не зарегистрированы

Я использую библиотеку ThreeTen-Backport для своего Android-проекта (потому что java.time еще не реализован в разработке Android).

Когда я пишу LocalDate today=LocalDate.now(); Или LocalTime time=LocalTime.now(); Я получаю следующее исключение:

 Caused by: org.threeten.bp.zone.ZoneRulesException: No time-zone data files registered at org.threeten.bp.zone.ZoneRulesProvider.getProvider(ZoneRulesProvider.java:176) at org.threeten.bp.zone.ZoneRulesProvider.getRules(ZoneRulesProvider.java:133) at org.threeten.bp.ZoneRegion.ofId(ZoneRegion.java:143) at org.threeten.bp.ZoneId.of(ZoneId.java:357) at org.threeten.bp.ZoneId.of(ZoneId.java:285) at org.threeten.bp.ZoneId.systemDefault(ZoneId.java:244) at org.threeten.bp.Clock.systemDefaultZone(Clock.java:137) at org.threeten.bp.LocalDate.now(LocalDate.java:165) 

Такая же строка кода хорошо работает в другом проекте java, который использует собственную библиотеку java.time.

Я искал возможное решение, но не нашел ничего полезного: одно решение предложило мне использовать другую банку, которая включает в себя правила часовых поясов, и другие предположили, что в пути к классам могут быть две или более библиотеки ThreeTenBP.
Эти случаи не соответствуют моему делу.

Внутри файла build.gradle в разделе зависимостей я пробовал несколько конфигураций:

  • Сначала я использовал – compile 'com.jakewharton.threetenabp:threetenabp:1.0.3'
  • Затем я попробовал – compile 'org.threeten:threetenbp:1.0.3'
  • После этого я попытался – compile 'org.threeten:threetenbp:1.3.1'
  • В настоящее время я использую compile 'org.threeten:threetenbp:1.3.2'

Я не знаю, что не так с этой строкой кода и как ее исправить.
LocalDate.now() и LocalTime.now() должны работать без указания часового пояса.
Буду признателен за вашу помощь в этом вопросе.

Solutions Collecting From Web of "Ошибка ThreeTen-Backport на Android – ZoneRulesException: файлы данных с часовыми поясами не зарегистрированы"

Для Android-проекта вы должны использовать

 compile 'com.jakewharton.threetenabp:threetenabp:1.0.3 

Убедитесь, что вы вызываете AndroidThreeTen.init(this); Перед использованием классов из библиотеки. Это будет считывать данные часовых поясов (включены в библиотеку). Вы можете инициализировать библиотеку в своем классе Application в методе onCreate как это рекомендуется в README .