Исключение android java.util.Objects в Android версии 4.3 - PullRequest
1 голос
/ 23 апреля 2019

У меня возникают проблемы с запуском моего приложения на устройстве (Android 4.3), и я получаю эту ошибку: E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: main java.lang.NoClassDefFoundError: java.util.Objects

Я знаю, что исключение выдается, потому что все статические методы java.util.Objects доступны выше API 19 (Android 4.4. +), Так что метод не существует в этой версии Android и выбрасывается NoClassDefFoundError.

Но мне также нужно, чтобы мое приложение было совместимо с версией 4.3, как я могу это исправить?

trace: java.lang.NoClassDefFoundError: java.util.Objects в okhttp3.CertificatePinner.withCertificateChainCleaner (CertificatePinner.java): 231) в okhttp3.OkHttpClient. (OkHttpClient.java:238) в okhttp3.OkHttpClient $ Builder.build (OkHttpClient.java:1015)

Ответы [ 2 ]

1 голос
/ 17 июня 2019

Вы, вероятно, используете OkHttp 3.13.x или выше 3.13.0 - это первая версия OkHttp, которая повышает минимальные требования к Android 5+ API 21

Пожалуйста, попробуйте версию 3.12.3, так как она должна поддерживать устройства с Android 2.3+ (API 9 +)

Источник: https://github.com/square/okhttp/blob/master/CHANGELOG.md

0 голосов
/ 23 апреля 2019

Не используйте эти звонки.Предоставьте свою собственную версию их в своем классе.Вы не можете использовать функцию в версии ОС до ее добавления.Нет способа сделать это.Но вы можете найти реализацию этих функций с открытым исходным кодом из чего-то вроде OpenJDK и поместить этот класс в свое приложение и использовать его там.

Но почему вы тратите усилия на поддержку 4.3?Только 4,4% всех используемых устройств v 4.3.Источник - Google: https://developer.android.com/about/dashboards/ Это не стоит усилий и затрат на поддержку в настоящее время.Все устройства до 19 комбайнов составляют только 3,5% от всех используемых устройств, и они географически сильно сгруппированы - если ваша основная аудитория не находится в бедных районах Африки или Азии, вы увидите только часть этого.Вероятно, вы уже потратили больше времени (времени) на изучение этой проблемы, чем когда-либо вернетесь в доходах.

О, и обратите внимание, что эти цифры относятся к октябрю - теперь это будет еще меньше.

...