我在更新google play-services SDK时遇到了一个问题。
我的应用程序构建并运行(像以前一样)-但在Android wear watch上,此消息在日志中:
GooglePlayServicesUtil: GooglePlay服务过期。要求5089000,但找到5077534
所以应用程序正在编译5.0.89版本,但手表只有5.0.77版本。
手表和手机之间的通信现在失败了(它之前是工作的)。
考虑到Android Studio不提供返回早期版本的google-play-services的方法,我该如何使应用向后兼容早期版本的google-play-services?
这些是wear应用的gradle设置
dependencies {
compile 'com.google.android.gms:play-services:5.0.+@aar'
compile "com.android.support:support-v13:20.0.+"
compile "com.google.android.support:wearable:1.0.+"
}
如果我尝试强迫Android Studio使用5.0.77版本,它会在构建中抱怨:
错误:Failed to find: com.google.android.gms:play-services:5.0.77
我怎么能保持兼容手表与早期版本的谷歌播放服务?
构建。Gradle在可穿戴端需要更新为使用play-services-wearable,而不是像你上面展示的那样只使用play-services。
如果你看一下Wear SDK中提供的DataLayer这样的例子,它在wearable/build.gradle中使用了这样的东西:
dependencies {
compile 'com.google.android.gms:play-services-wearable:+'
}
我已经提出请求,要求尽快在官方文档中提到这一点。
当你的手机有旧的play-service而你正在使用新的play-service lib时,就会发生这种情况。所以你只需要从你的手机上更新你的google-play-service。
可以使用
int googleServiceStatus = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
Dialog dialog = GoogleApiAvailability.getInstance().getErrorDialog(this,googleServiceStatus, 10);
if(dialog!=null){
dialog.show();
}
这个将显示弹出,在任何问题,以获得播放服务。