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

时间:2017-01-31 10:22:54

标签: android

当我将目标sdk级别从23.0.2更改为25.0.1时。我的应用程序在下面的行中崩溃了。 我该怎么做才能避免这次崩溃? 请提出修改建议。

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)

我的应用程序是:

  //  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
}

5 个答案:

答案 0 :(得分:2)

试试这个:

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版本?

答案 1 :(得分:2)

使用最新版本的Google Play服务

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

答案 2 :(得分:1)

在app gradle文件中,将您的Google Play服务依赖项升级到最新版本。

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

答案 3 :(得分:0)

添加依赖

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

删除apply plugin和

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

答案 4 :(得分:-1)

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

鉴于以上链接指向解决方案,它对我有用。