我对google-play-services SDK的更新有疑问。
我的应用程序构建和运行(就像之前一样) - 但在Android佩戴手表上,此消息在日志中:
GooglePlayServicesUtil:Google Play服务已过期。需要5089000但找到5077534
因此该应用程序正在使用5.0.89进行编译,但该手表仅具有5.0.77版本。
手表和手机之间的通信现在失败了(之前已经有效)。
考虑到Android Studio无法提供返回早期版本的google-play-services的方式,我如何使应用程序向后兼容早期版本的google-play-services?
这些是磨损应用程序的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,它会在构建中抱怨:
错误:无法找到:com.google.android.gms:play-services:5.0.77
如何与早期版Google Play服务的手表保持兼容?
答案 0 :(得分:5)
可穿戴方面的build.gradle需要更新才能使用play-services-wearable,而不仅仅是上面显示的play-services。
因此,如果您查看Wear SDK中提供的DataLayer之类的示例,它会在wearable / build.gradle中使用类似的内容:
dependencies {
compile 'com.google.android.gms:play-services-wearable:+'
}
我已经提出要求尽快在官方文件中提到这一点。
答案 1 :(得分:3)
当您的手机具有旧的播放服务并且您正在使用新的播放服务库时,会发生这种情况。所以你需要通过手机更新你的google-play-service。
您可以使用
int googleServiceStatus = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
Dialog dialog = GoogleApiAvailability.getInstance().getErrorDialog(this,googleServiceStatus, 10);
if(dialog!=null){
dialog.show();
}
如果出现任何问题,这将显示弹出窗口。