2014-10-15 5 views
3

У меня есть приложение Android Wear, которое я пытаюсь перенести из Eclipse в Android Studio. Это (более или менее) работает на моем LG G Watch, но при запуске на моем Moto 360 я получаю следующее сообщение в LogCat:Android Wear: службы Google Play устарели. Требуется x, но найдено y

GooglePlayServicesUtil﹕ Google Play services out of date. Requires 6111000 but found 5091534 

сразу за Connection to Google API client has failed. Запуск на эмуляторе дает аналогичное сообщение:

GooglePlayServicesUtil﹕ Google Play services out of date. Requires 6111500 but found 5077534 

Это мне кажется странным, что версия Requires немного отличается в каждом конкретном случае, но вы.

Я прошел через подобные вопросы здесь, на SO, и ответы обычно сводятся к тому, что зависимости Gradle модуля используют play-services-wearable, а не только play-services. Я проверил это, и это кажется правильным; вот соответствующий раздел из моего файла build.gradle:

dependencies { 
    compile project(':wearableCommon') 
    compile 'com.google.android.support:wearable:+' 
    compile 'com.google.android.gms:play-services-wearable:+' 
} 

Обратите внимание, что wearableCommon представляет собой библиотеку самостоятельно, содержащий код, я использую в нескольких носимых проектах, и он не использует GMS.

Меня особенно беспокоит то, что это работает на одном устройстве, но не в другом. Если бы у меня не было собственного 360-го, я вполне мог бы опубликовать этот код после тестирования его на моем G Watch. Тогда я бы постарался отлаживать это в дикой природе, одновременно применяя контроль над урон для сотен разгневанных 360 владельцев.

ответ

3

Самый простой "исправить":

Установите ваш play-services-wearable специально искать 5.0.77

compile 'com.google.android.gms:play-services-wearable:5.0.77'

Больше информации:

https://plus.google.com/u/0/101581283591300788111/posts/5bHfmjtvQ6R

I Li у этой же проблемы была та же проблема. Уэйн пытается мне помочь. Присоединяйтесь к обсуждению, если хотите.

+0

Спасибо. Это сработало. Эта проблема возникла из-за несоответствия версий Android в износе (работает леденец) и моего телефона (работает kitkat). –

2

Последняя версия Служб Google Play была недавно выпущена на устройства Android Wear. Последнее обновление SDK для загружаемых игровых сервисов требует обновления вашего ношения, которое отображается в сообщении об ошибке, которое вы сообщаете. Убедитесь, что на вашем телефоне установлено последнее приложение-компаньон, и оно также установит обновление для вашего ношения. Удостоверьтесь, что у вас есть ваш носимый в паре с телефоном, иначе он не сможет обновить носимый!

Если у вас есть ваш носимый в паре с телефоном, эти вещи будут автоматически обновляться, и не должно быть проблем.

Я бы не рекомендовал жестко кодировать ваш build.gradle до 5.0.77, потому что тогда вы никогда не будете обновлять, чтобы использовать новые API для Play Services.

+2

При всем уважении это не решение для производственного приложения. Проблема заключается не в том, что * мой * watch (или эмулятор - WTF) имеет устаревшее программное обеспечение, это значит, что это приложение будет распространено среди тысяч пользователей.И в реальном мире не каждый пользователь имеет самую последнюю версию всего программного обеспечения во все времена. Неприемлемо для приложения, что кто-то заплатил за то, что он просто не работает, когда их GMS еще не синхронизируется. В лучшем случае мне пришлось бы ввести код, чтобы проверить, что версия GMS в порядке - и это на самом деле не исправить, просто сделайте так, чтобы она была менее непрозрачной. – String

+0

Я понимаю вашу озабоченность здесь, но чтобы получить приложение на часах пользователя, он будет доставлен через Play Store и приложение-компаньон. Сопутствующее приложение, содержащее самую последнюю версию Служб Google Play, также будет обновляться одновременно, и поэтому проблем не будет. Таким образом, эта проблема не должна влиять на обычную загрузку пользователей через Play Store и не устанавливать приложения вручную через ADB. –

+0

Вы также можете исправить версию build.gradle до версии 5.0 или 5.0.77, если вы действительно хотите придерживаться определенной известной версии. Но тогда вы пропустите какие-либо исправления ошибок, которые будут выпущены. Но у вас есть возможность решить, что приемлемо для вас здесь. –

Смежные вопросы