gcm推送通知中的java.lang.IncompatibleClassChangeError

时间:2016-06-05 10:55:13

标签: android google-cloud-messaging

此前,GCM工作正常,但在更新Google Play服务后,它停止了工作。我遇到以下logcat错误:

java.lang.IncompatibleClassChangeError: The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Con‌​text)' was expected to be of type virtual but instead was found to be of type direct (declaration of 'com.google.android.gms.iid.zzd' appears in /data/app/com.notnul.notnul-1/base.apk) at com.notnul.notnul.RegistrationIntentService.onHandleIntent(RegistrationIntentSer‌​vice.java:53)

这是我的代码,其中logcat指向:

instanceID = InstanceID.getInstance(this);
GCM_Token = InstanceID.getInstance(getApplicationContext()).getToken(authorizedEntity, scope);
GCM_InstaceID = instanceID.getInstance(getApplicationContext()).getId();

我无法找到错误。任何人都可以帮我这个吗?提前谢谢!

1 个答案:

答案 0 :(得分:3)

更新至Google Play服务库版本9.0.2。

https://developers.google.com/android/guides/releases说:

  

Google Play服务已更新至9.0.1

     

Google Play服务版本9.0.1现已推出。此版本修复了9.0.0版本的以下问题:

     

使用ContextCompat.getNoBackupFilesDir()修复了类更改编译错误。