Benötigen Sie Hilfe bei einer schwerwiegenden Ausnahme, die von java.lang.IncompatibleClassChangeError @ verursacht wir

So, ich bin erst gestern in Android Studio auf diesen Fehler gestoßen, den ich noch nie zuvor gesehen habe, der durch einen Code verursacht wurde, der in den letzten 3 Monaten nicht angerührt wurde. Dies ergab sich aus dem Code, der zur Registrierung für Push-Benachrichtigungen verwendet wurde, und funktionierte Anfang dieser Woche einwandfrei. Jetzt tritt jedoch der folgende Fehler auf:

05-20 10:37:02.064 22471-22681/com.appname E/AndroidRuntime: FATAL EXCEPTION: IntentService[RegIntentService]
                                                               Process: com.appname, PID: 22471
                                                               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.zzeb(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.appname.services.RegistrationIntentService.onHandleIntent(RegistrationIntentService.java:32)
                                                                   at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
                                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                   at android.os.Looper.loop(Looper.java:135)
                                                                   at android.os.HandlerThread.run(HandlerThread.java:61)

Hier ist meine RegistrationIntentService-Klasse:

package com.appname.services;

import android.app.IntentService;
import android.content.Context;
import android.content.Intent;
import com.google.android.gms.gcm.GoogleCloudMessaging;
import com.google.android.gms.iid.InstanceID;
import com.appname.MainSharedPreferences;
import com.appname.R;
import java.io.IOException;

public class RegistrationIntentService extends IntentService {

    private static final String TAG = "RegIntentService";

    public RegistrationIntentService() {
        super(TAG);
    }
    public static void startService(final Context context) {
        final Intent intent = new Intent(context, RegistrationIntentService.class);
        context.startService(intent); //HERE is the line that is causing the crash
    }

    @Override
    public void onHandleIntent(Intent intent) {
        InstanceID instanceID = InstanceID.getInstance(this);
        try {
            String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId) , GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
            MainSharedPreferences.saveGCMInstanceToken(token, getApplicationContext());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Dies ist die Codezeile, die die obige Klasse aus meiner MainActivity-Klasse aufruft:

RegistrationIntentService.startService(getApplicationContext());

Ein paar Infos zu meiner MainActivity, wenn es hilft ...

public class MainActivity extends SocialActivity implements SeekBar.OnSeekBarChangeListener

public abstract class SocialActivity extends AppCompatActivity implements GraphRequest.GraphJSONObjectCallback

Ich habe versucht, zu mehreren älteren Commits zurückzukehren, habe aber den gleichen Fehler erhalten. Dies führte mich zu der Annahme, dass möglicherweise ein Problem mit meiner Android Studio- oder Java-Version aufgetreten ist. Ich habe meine Java-Version aktualisiert und Android Studio neu installiert, immer noch der gleiche Fehler. Auch auf einem separaten Computer mit älteren Versionen versucht, immer noch den gleichen Fehler.

Ich habe sogar versucht, von GCM nach Firebase zu migrieren, lautdieser Ratgeber und bekamen am Ende wieder den gleichen Fehler.

Ich kann die Zeile auskommentieren, die die App zum Absturz bringt, und sie funktioniert einwandfrei, aber dann erhalte ich keine Benachrichtigungen mehr.

Jede Hilfe oder Beratung in dieser Angelegenheit wäre sehr dankbar!

BEARBEITEN Hier sind auch meine relevanten compile / classpath-Anweisungen ...

Im App-Namen build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    repositories { mavenCentral() }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.google.gms:google-services:3.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

In der App build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    //...
}

allprojects {
    //...
}

android {
   //...
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.google.code.gson:gson:2.5'
    compile 'com.android.support:design:23.4.0'
    compile 'com.android.support:recyclerview-v7:+'
    compile "com.google.firebase:firebase-messaging:9.0.0"
    //...
}

apply plugin: 'com.google.gms.google-services'