GCM错误 - googleCloudMessaging.register [英] GCM Error - 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屋!