适用于Android 24的GCM中的IncompatibleClassChangeError

时间:2016-09-07 07:00:36

标签: android google-cloud-messaging android-7.0-nougat

我的gradle版本

compileSdkVersion 24
buildToolsVersion "24.0.2"
minSdkVersion 17
targetSdkVersion 24
classpath 'com.google.gms:google-services:3.0.0'
compile "com.google.android.gms:play-services-gcm:9.4.0"

以下是我的错误消息

引起:

java.lang.IncompatibleClassChangeError:方法'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)'应该是虚拟类型,但是被发现是直接输入('com.google.android.gms.iid.zzd'的声明出现在/data/data/com.tcs.fresco.talk.dev/files/instant-run/dex/slice-com.google.android中.gms播放服务-GCM-8.3.0_6588f90e2e94e38ac1a1c0e6261e77a2c83f8cc8-classes.dex)                                                                              在

com.google.android.gms.iid.zzd.zzdL(未知来源)                                                                              在

com.google.android.gms.iid.zzd。(未知来源)                                                                              在

com.google.android.gms.iid.zzd。(未知来源)                                                                              在

com.google.android.gms.iid.InstanceID.zza(未知来源)                                                                              在

com.google.android.gms.iid.InstanceID.getInstance(未知来源)

为什么会出现这种类型的错误?

任何帮助将不胜感激,

谢谢。

1 个答案:

答案 0 :(得分:0)

这是一个副本:
 IncompatibleClassChangeError after updating to Android Build Tools 25.1.6 GCM / FCM

TL; DR: com.google.android.gms:play-services-gcm:9.0.0有上述错误 请更新至最低9.0.1

你说你的gradle设置为:

compile "com.google.android.gms:play-services-gcm:9.4.0"

但您必须拥有一些其他依赖项,这些依赖项将引入9.0.0版本

使用以下方法检查您的依赖关系图:

gradle -q app:dependencies --configuration compile