Android Wear Error ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, разрешение=null}

Я хотел сделать простое носимое приложение и подключаться через уровень данных. Все отлично работает с портативным модулем (используя: S5), но носимое устройство (используя: Moto 360) всегда выдает ошибку:

onConnectionFailed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, разрешение=null}

Игровые сервисы на КПК обновлены

я добавил

compile 'com.google.android.gms:play-services:7.3.0'

к обоим, карманным, как носить build.gradle.

Носимая деятельность:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
        stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
            @Override
            public void onLayoutInflated(WatchViewStub stub) {
                mTextView = (TextView) stub.findViewById(R.id.text);
            }
        });
        int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
        Log.i(TAG,"Services available: "+ result);
        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() {
                    @Override
                    public void onConnected(Bundle connectionHint) {
                        Log.d(TAG, "onConnected: " + connectionHint);
                        // Now you can use the Data Layer API
                    }
                    @Override
                    public void onConnectionSuspended(int cause) {
                        Log.d(TAG, "onConnectionSuspended: " + cause);
                    }
                })
                .addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
                    @Override
                    public void onConnectionFailed(ConnectionResult result) {
                        Log.d(TAG, "onConnectionFailed: " + result);
                    }
                })
                        // Request access only to the Wearable API
                .addApi(Wearable.API)
                .build();

    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.i(TAG, "==OnStart===");
        mGoogleApiClient.connect();
    }

Я провел исследование, но не смог найти никакого рабочего решения.


person Julius    schedule 11.05.2015    source источник
comment
Если вы используете эмулятор для устройства Wear, убедитесь, что на вашем эмуляторе установлена ​​последняя версия Android. У меня был эмулятор с API 22, и я получил ошибку. Затем я создал новый с API 24 (7.0 Nougat), и он заработал.   -  person Albert Vila Calvo    schedule 04.09.2016


Ответы (6)


У меня похожая проблема при использовании сервисов Google Play на ASUS ZenWatch.

В носимых всегда выдает ошибку:

ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, разрешение=null

Сервисы Google Play устарели. Требует 7327000 но нашел 6774534

Я обнаружил, что сервисы Google Play для носимых и портативных устройств могут не синхронизироваться, не знаю почему.

введите здесь описание изображения

Итак, проверьте версию Google Play Services для носимых устройств.

Настройки -> О программе -> Версия ПО

И повторно синхронизируйте приложения

Запустите приложение Android Wear > Нажмите на значок шестеренки > выберите свое устройство > Повторно синхронизируйте приложения.

Подождите 3-5 минут, проверьте версию сервисов Google Play для носимых устройств.

Когда синхронизация будет завершена, возможно, вы сможете с ней работать.

Надеюсь, вы понимаете мой ломаный английский.

person aiur    schedule 12.05.2015
comment
хм, сервисы Google Play у меня не синхронизируются. У меня на телефоне версия 8.1.15, а на эмуляторе износа 7.3.27. - person user2968401; 12.10.2015

Если выбранный ответ не работает для некоторых людей, попробуйте это. Чтобы получить последние сервисы Google Play для износа, нужно установить последний образ системы (API 22 на момент публикации) для эмулятора. Раньше я использовал API 21.

person user2968401    schedule 12.10.2015

Я решил тот же случай, понизив версии библиотеки в сценариях gradle.

Зависимости телефонного проекта изначально были

compile 'com.google.android.gms:play-services:9.2.0'

Зависимости проекта часов:

compile 'com.google.android.support:wearable:2.0.0-alpha1'
compile 'com.google.android.gms:play-services-wearable:9.2.0'

Телефон перестал требовать что-то обновить после того, как я понизил версию с 9.2.0 до 9.0.0 в обоих случаях.

person Audrius Meskauskas    schedule 01.07.2016

У меня была такая же проблема.

Я смог исправить это, обновив службы Android Play, чтобы они были одной и той же версии как на устройствах Android Mobile, так и на устройствах Android Wear.

Вы можете проверить версию сервисов Android Play на своем мобильном устройстве, перейдя

 Settings -> Apps -> Google Play services -- The version should be listed near the top.

Затем перейдите на свое устройство Android Wear и проверьте версию сервисов Android Play. Это можно сделать, перейдя

Settings -> About -> Click on Versions -- The version should be listed

Если эти версии не совпадают, вам необходимо обновить более низкую версию, чтобы она совпадала с более высокой версией.

Сначала перейдите на страницу http://www.apkmirror.com/apk/google-inc/google-play-services/, чтобы загрузить APK сервисов Android Play: убедитесь, что у вас та же версия, что и на другом устройстве. Эта ссылка содержит загрузки, а также полезную информацию о том, как найти правильный APK для вашего устройства. устройство.

Вы можете установить APK на свое Android-устройство с помощью этой команды. Параметр -r (переустановить) необходим, если на вашем устройстве была установлена ​​текущая версия сервисов Google Play.

adb install -r <path to APK>

Вы также можете установить APK напрямую на устройство Android Wear с помощью Bluetooth, если это устройство необходимо обновить. Это требует немного больше работы.

Во-первых, убедитесь, что ваши устройства Wear и Mobile сопряжены. Перейдите к приложению «Android Wear» на своем мобильном устройстве, в левом верхнем углу вы должны увидеть свое устройство со статусом «подключено». Нажмите на шестеренку и прокрутите вниз до заголовка раздела «Отладка по Bluetooth». Убедитесь, что настройки выглядят так:

 **Debugging over Bluetooth**
 Host: disconnected
 Target: connected

Затем запустите эти две команды

adb forward tcp:4444 localabstract:/adb-hub
adb connect localhost:4444

Наконец, запустите эту команду

adb devices

Вы должны увидеть два подключенных устройства.

**List of devices attached**
localhost:4444 device
"Device Name" device

Если у вас есть что-то похожее на это

**List of devices attached**
localhost:4444 unauthorized
"Device Name" device 

Вам необходимо включить режим отладки на вашем устройстве Android Wear. Это можно сделать, перейдя в

Settings->About and pressing the Build Number tab 7 times. 

Возвращаться

Settings->Developer Options, this should have just appeared. 

Обязательно включите отладку ADB и отладку по Bluetooth.

Наконец, теперь, когда у вас подключены оба устройства, вы можете использовать эту команду для установки APK на устройство Android Wear.

adb -e install -r <path to APK>

Быстрая заметка, это займет 10 минут или около того, и ничего не произойдет. Просто наберитесь терпения и ждите. В итоге вы получите ответ, который выглядит примерно так:

76 KB/s (18622942 bytes in 238.161s)
pkg: /data/local/tmp/com.google.android.gms_9.2.56_(534-   124593566)-9256534_minAPI20(armeabi-v7a)(240dpi)_apkmirror.com.apk
Success

Как только на обоих устройствах будут установлены одинаковые версии службы Google Play, все будет готово. Удачного кодирования!

person skyman12    schedule 14.07.2016

В моем случае я получал ошибку при компиляции

compile 'com.google.android.gms:play-services:9.8.0"

Обновление до 10.0.1, исправлено.

person MSquare    schedule 30.12.2016

У меня возникла эта проблема, когда я пытался протестировать эмулятор Android Wear с 7.1.1 W play services 10.2.89. Моя зависимость build.gradle установила 11.0.1 в модуле износа. Самое простое и быстрое решение — попытаться установить версию игровых сервисов в build.gradle равной или меньшей, чем у вас на устройстве или эмуляторе, в моем случае я установил:

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

и это сработало.

person JimmyFlash    schedule 16.07.2017