GCM错误 - googleCloudMessaging.register [英] GCM Error - googleCloudMessaging.register

查看:243
本文介绍了GCM错误 - googleCloudMessaging.register的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了android应用程序说的问题。 应用程序xxxx抱歉停止与推送通知一起工作,执行调试器时发生的情况如下:

方法1

  InstanceID InstanceId = InstanceID.getInstance(context); 

token = instanceID.getToken(key_id.toString()

GoogleCloudMessaging.INSTANCE_ID_SCOPE); getToken错误,

方法2

如果(googleCloudMessaging == null){
googleCloudMessaging = GoogleCloudMessaging.getInstance(context);如果(googleCloudMessaging == null){b
$ b

 
}
token = googleCloudMessaging.register(key_id);

请注意,该令牌已生成但应用程序已关闭,错误:

 方法'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)'预计为类型虚拟,但被发现是直接类型(声明'java.lang.reflect.ArtMethod'出现在/system/framework/core-libart.jar中)

我使用的是android studio,用于
cdvCompileSdkVersion = android-22
cdvBuildToolsVersion = 22.0.1



错误:

 FATAL EXCEPTION:main 
过程:PID:11989
java.lang.IncompatibleClassChangeError:方法'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)'被期望是虚拟类型,但是被发现是直接类型的( 'java.lang.reflect.ArtMethod'的声明出现在/system/framework/core-libart.jar中)
at com.google.android.gms.iid.zzd.zzde(Unknown Source)
at com.google.android.gms.iid.zzd。< init>(Unknown Source)
在com.google.android.gms.iid.zzd。< init>(未知来源)
在com.google.android.gms.iid.InstanceID.zza(未知来源)
在com .google.android.gms.iid.InstanceID.getInstance(未知来源)
,位于com.google.android.gms.iid.InstanceIDListenerService.zzn(未知来源)
,位于com.google.android.gms .iid.InstanceIDListenerService.onStartCommand(Unknown Source)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2924)
at android.app.ActivityThread.access $ 2100(ActivityThread.java:155)
at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1415)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper。循环(Looper.java:135)
在android.app.ActivityThread.main(ActivityThread.java:5343)
在java.lang.reflect.Metho d.invoke(Native方法)
在java.lang.reflect.Method.invoke(Method.java:372)
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java :905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

可能是什么问题?



问候,

解决方案

Google已更新其发行说明,说明此问题已修复,您只需将版本更新至9.0.2



以下是发行说明:

a href =https://developers.google.com/android/guides/releases> https://developers.google.com/android/guides/releases


I have the problem that the android application says. "The application xxxx Sorry stopped" to work with the push notificaction, when performing the debugger that happens when it passes:

method 1

InstanceID InstanceId = InstanceID.getInstance (context);

 token = instanceID.getToken (key_id.toString ()

GoogleCloudMessaging.INSTANCE_ID_SCOPE); getToken error,

method 2

Both an the same mistake

 if (googleCloudMessaging == null) {
googleCloudMessaging = GoogleCloudMessaging.getInstance(context);
                    }
                    token = googleCloudMessaging.register(key_id);

note that the token is generated but the application is closed, error:

"The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir (android.content.Context)' was expected to be of type virtual but was found to be Instead of direct type (declaration of 'java.lang .reflect.ArtMethod 'appears in /system/framework/core-libart.jar)"

I am using android studio, for cdvCompileSdkVersion = android-22 cdvBuildToolsVersion = 22.0.1

Error:

"FATAL EXCEPTION: main
Process:  PID: 11989
java.lang.IncompatibleClassChangeError: The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)' was expected to be of type virtual but instead was found to be of type direct (declaration of 'java.lang.reflect.ArtMethod' appears in /system/framework/core-libart.jar)
    at com.google.android.gms.iid.zzd.zzde(Unknown Source)
    at com.google.android.gms.iid.zzd.<init>(Unknown Source)
    at com.google.android.gms.iid.zzd.<init>(Unknown Source)
    at com.google.android.gms.iid.InstanceID.zza(Unknown Source)
    at com.google.android.gms.iid.InstanceID.getInstance(Unknown Source)
    at com.google.android.gms.iid.InstanceIDListenerService.zzn(Unknown Source)
    at com.google.android.gms.iid.InstanceIDListenerService.onStartCommand(Unknown Source)
    at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2924)
    at android.app.ActivityThread.access$2100(ActivityThread.java:155)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1415)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5343)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)"

What could be the problem?

Regards,

解决方案

Google has updated on their release note that this issue is fixed, you just have to update the version to 9.0.2

Here is the release note: https://developers.google.com/android/guides/releases

这篇关于GCM错误 - googleCloudMessaging.register的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆