java.lang.IllegalAccessError:方法'无效android.support.v4.content.ContextCompat。' 无法访问类com.google.android.gms.iid.zzd'

当我将我的目标sdk级别从23.0.2更改为25.0.1。我的应用程序崩溃在线以下。 我应该怎么做才能避免这种崩溃? 请build议更改。

InstanceID instanceID = InstanceID.getInstance(getContext()); 

错误日志:

 AndroidRuntime: FATAL EXCEPTION: AsyncTask #2 Process: com.tuitoapp.admin, PID: 19012 java.lang.RuntimeException: An error occured while executing doInBackground() Caused by: java.lang.IllegalAccessError: Method 'void android.support.v4.content.ContextCompat.<init>()' is inaccessible to class 'com.google.android.gms.iid.zzd' (declaration of 'com.google.android.gms.iid.zzd' appears in /data/data/com.tuitoapp.admin/files/instant-run/dex/slice-com.google.android.gms-play-services-gcm-8.3.0_7fd6e981c2dc6578e4c382ecd19f08197a01f8b5-classes.dex) at com.google.android.gms.iid.zzd.zzdL(Unknown Source) at com.google.android.gms.iid.InstanceID.zza(Unknown Source) at com.google.android.gms.iid.InstanceID.getInstance(Unknown Source) 

我的应用程序gradle是:

  // compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'org.achartengine:achartengine:1.2.0' compile('com.crashlytics.sdk.android:crashlytics:2.6.2@aar') { transitive = true; } compile 'org.jsoup:jsoup:1.8.3' compile 'com.mcxiaoke.volley:library:1.0.19' compile 'com.android.support:appcompat-v7:25.1.1' compile 'com.android.support:design:25.1.1' compile 'com.pkmmte.view:circularimageview:1.1' compile 'com.android.support:cardview-v7:25.0.1' compile 'org.achartengine:achartengine:1.2.0' compile 'com.github.npanigrahy:Custom-Calendar-View:v1.0' compile 'com.github.siyamed:android-shape-imageview:0.9.+@aar' compile 'com.google.android.gms:play-services:8.3.0' compile 'com.android.support:multidex:1.0.1' // compile 'com.google.android.gms:play-services:9.8.0 // compile 'com.google.android.gms:play-services:9.8.0' compile 'com.android.support:multidex:1.0.1' compile 'pub.devrel:easypermissions:0.1.9' compile 'com.github.ksoichiro:android-observablescrollview:1.6.0' compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.16' compile 'com.miguelcatalan:materialsearchview:1.4.0' compile 'com.github.rey5137:material:1.2.2' compile 'uk.co.chrisjenx:calligraphy:2.1.0' compile 'com.github.blackfizz:eazegraph:1.2.5l@aar' compile 'com.github.PhilJay:MPAndroidChart:v2.1.6' compile 'com.squareup.picasso:picasso:2.5.2' compile 'com.nineoldandroids:library:2.4.0' compile 'de.hdodenhof:circleimageview:2.1.0' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.android.support:palette-v7:25.0.1' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' compile('com.weiwangcn.betterspinner:library:1.1.0') { exclude group: 'com.android.support', module: 'appcompat-v7' } compile 'swarajsaaj:otpreader:1.0' compile 'com.flipboard:bottomsheet-core:1.4.3' compile 'com.flipboard:bottomsheet-commons:1.4.3' compile 'com.riontech.staggeredtextgridview:staggeredtextgridview:1.0.1' compile 'konifar:fab-transformation:1.0.0' compile project(':flickabledialog') compile 'com.android.support:support-v4:25.0.1' } apply plugin:'com.google.gms.google-services' 

而顶级的应用程序是:

 buildscript { repositories { jcenter() mavenCentral() maven { url "https://jitpack.io" } } dependencies { classpath 'com.android.tools.build:gradle:2.2.3' //These two lines are added classpath 'com.google.gms:google-services:1.5.0-beta2' //classpath 'com.google.gms:google-services:3.0.0' // classpath 'com.android.tools.build:gradle:2.0.0-alpha6' classpath 'com.android.tools.build:gradle:1.3.0' classpath 'com.novoda:bintray-release:0.3.4' // classpath 'com.google.gms:google-services:2.0.0-alpha3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } task clean(type: Delete) { delete rootProject.buildDir } 

Solutions Collecting From Web of "java.lang.IllegalAccessError:方法'无效android.support.v4.content.ContextCompat。' 无法访问类com.google.android.gms.iid.zzd'"

尝试这个:

 InstanceID instanceID = InstanceID.getInstance(getApplicationContext()); 

也在build.gradle:

 compile("com.google.android.gms:play-services-location:9.6.1") //if u are not using location you can skip this compile("com.google.android.gms:play-services-maps:9.6.1") compile("com.google.android.gms:play-services-gcm:9.6.1") 

在你的应用程序gradle中:

删除classpath 'com.google.gms:google-services:1.5.0-beta2'

也为什么使用两个不同的com.android.tools.build:gradle版本?

在应用gradle文件中,将您的google play服务依赖关系升级到最新版本。

 compile 'com.google.android.gms:play-services:9.6.1' 

添加依赖关系

 compile 'com.google.android.gms:play-services:10.0.1' 

删除应用插件和

  classpath 'com.google.gms:google-services: 

使用最新版本的Google Play服务

  compile 'com.google.android.gms:play-services:11.0.4' 

试试这个 – http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

鉴于上述链接指向解决scheme,它为我工作。