С момента обновления моих пакетов диспетчера SDK мои сервисы Google Play не работают.Службы Google для Google Play нарушены? isConnected() выдает ошибки
Это приводит к тому, что мой Samsung S5 работает 5.0, HTC One_M8 работает 5.0.1, а мой Nexus 5 работает 6.0 (предварительный просмотр Android M), чтобы сбой.
java.lang.IncompatibleClassChangeError: The method 'boolean com.google.android.gms.common.api.GoogleApiClient.isConnected()' was expected to be of type interface but instead was found to be of type virtual (declaration of 'java.lang.reflect.ArtMethod' appears in /system/framework/core-libart.jar)
Запуск и тот же код на Samsung Mega работает 4.4.2 и Nexus 4 работает 4.4.4, я получаю эту ошибку.
java.lang.NoSuchMethodError: com.google.android.gms.common.api.GoogleApiClient.isConnected
Эти ошибки только начали происходить после последних обновлений от SDK Manager, я обновить очень регулярно и мое последнее обновление, прежде чем я заметил, что вопрос был 5 октября, 2015.
Текущий SDK
- Android Поддержка Repository: 21.
- Android Поддержка библиотеки: 23.0.1
- Google Play услуги: 27
- Android SDK Tools: 24.4
- Android SDK Platform-инструменты: 23.0.1
- Android SDK Строить-инструменты: 23.0.1
Все работало отлично перед обновлением. В любом случае, чтобы исправить это? Я трачу часы, пытаясь понять, что-то где-то прикрутил, но никаких изменений в моем проекте, связанных с сервисами google play, не было с тех пор, как он работал в последний раз. Я подтвердил с кем-то, используя ту же самую кодовую базу, которую я использую (мы используем git), которая еще не обновила свои пакеты SDK, что наш код по-прежнему работает для него. Мне, возможно, придется отменить мои инструменты SDK, так как я не могу просто подождать, чтобы найти возможное исправление, если это ошибка. Я получаю обновление очень новое, но я не могу быть единственным, у кого есть эта проблема.
Любые идеи о том, как исправить это?
Спасибо!
См. Последнюю марку части сентябрьского 2015 года [примечания к выпуску] (https://developers.google.com/android/guides/releases), поскольку это похоже на то, что вы видите. – CommonsWare
Также проверьте [это сообщение reddit] (https://www.reddit.com/r/androiddev/comments/3mehbb/breaking_changes_in_google_play_services_81/). Если вы используете библиотеку, которая также зависит от сервисов Google Play, а зависимость библиотеки не обновляется, а ваша собственная, она будет вызывать указанную вами ошибку. – NoChinDeluxe
Большое вам спасибо! Похоже, это действительно моя проблема. Программное обеспечение, которое я пишу, представляет собой библиотеку, которую другие пользователи внедряют в свои приложения. Мы мало контролируем, какую версию игровых сервисов Google они используют.Похоже, мне нужно как-то программно проверить, какая версия GPS в своем приложении, которую они компилируют, теперь имеет два разных класса для поддержки GPS в зависимости от версии? Есть ли способ сделать это? sigh – Dave