Android Wear错误ConnectionResult {statusCode = SERVICE_VERSION_UPDATE_REQUIRED,resolution = null}

时间:2015-05-11 15:11:27

标签: android google-play-services wear-os moto-360 data-layer

我想制作一个简单的可穿戴应用并通过数据层连接。手持模块(使用:S5)一切正常,但可穿戴设备(使用:Moto 360)总是抛出错误:

  

onConnectionFailed:ConnectionResult {statusCode = SERVICE_VERSION_UPDATE_REQUIRED,resolution = 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();
    }

我做过研究,但找不到任何可行的解决方案。

6 个答案:

答案 0 :(得分:6)

我在华硕ZenWatch上使用Google Play服务时遇到类似的问题,

在wearable中总是抛出错误:

  

ConnectionResult {statusCode = SERVICE_VERSION_UPDATE_REQUIRED,resolution = null

     

Google Play服务已过期。需要7327000但找到6774534

我发现可穿戴和手持式Google Play服务可能无法同步,我不知道为什么。

enter image description here

因此,请检查可穿戴式Google Play服务版

设置 - >关于 - >软件版本

重新同步应用

启动Android Wear应用 - >点击齿轮图标 - >选择您的设备 - >重新同步应用

等待3-5分钟,检查可穿戴的Google Play服务版本。

同步完成后,也许你可以使用它。

希望你能理解我破碎的英语。

答案 1 :(得分:2)

如果所选答案对某些人无效,请尝试此操作。要获得最新的谷歌播放服务,请为模拟器提供最新的系统映像(此帖子为API 22)。我之前使用的是API 21

答案 2 :(得分:1)

我通过降低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之后,手机停止要求升级。

答案 3 :(得分:1)

我有同样的问题。

我能够通过将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/下载Android Play服务APK:确保获得与其他设备相同的版本 - 此链接包含下载内容以及有关为您的设备查找正确APK的良好信息。

您可以使用此命令将APK安装到Android移动设备。如果您的设备上安装了当前版本的Google Play服务,则需要-r(重新安装)。

adb install -r <path to APK>

您还可以使用蓝牙将APK直接安装到Android Wear设备,如果这是需要更新的设备。这需要更多的工作。

首先,确保您的Wear和Mobile设备已配对。导航到&#34; Android Wear&#34;您的移动设备上的应用程序,在左上角,您应该看到设备已连接状态。单击齿轮并向下滚动到部分标题&#34;通过蓝牙进行调试&#34;。确保设置如下所示:

 **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调试和调试

最后,既然已经连接了两个设备,您可以使用此命令将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服务版本,您就应该不错了。快乐的编码!

答案 4 :(得分:0)

在我的情况下,我在编译时遇到错误

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

升级到10.0.1,修复它。

答案 5 :(得分:0)

我试图测试运行7.1.1 W播放服务10.2.89 的 android服装模拟器时出现此问题。我的 build.gradle依赖项在wear模块中设置了11.0.1 。 最简单快捷的解决方案是你尝试将build.gradle中的播放服务版本设置为等于或小于你在我设置的设备或模拟器上所拥有的版本:

pip

并且有效。