when i receive a notification, my app crashes, here is my code to handle the notification :
Firebase message Service:
public class MyFirebaseMessagingService extends FirebaseMessagingService {
    private static final String TAG = "FCM Service";
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        Log.d(TAG, "From: " + remoteMessage.getFrom());
        Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());
        Context context =  getApplicationContext();
        NotificationHandler.generateNotification(context,remoteMessage.getNotification().getTitle(),remoteMessage.getNotification().getBody());
    }
}
NotificationHandler.java:
public static  void generateNotification(Context context,String title,String message) {
int notificationId = 001;
Intent viewIntent = new Intent(context, LoginActivity.class);
PendingIntent viewPendingIntent =
        PendingIntent.getActivity(context, 0, viewIntent, 0);
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher);
int myColor =
        context.getResources().getColor(R.color.white);
Notification mNotification =
        new NotificationCompat.Builder(context)
                .setSmallIcon(R.drawable.ic_launcher1)
                //.setColor(myColor)
                .setContentTitle(title)
                .setContentText(message)
                .setLargeIcon(bitmap)
                .setContentIntent(viewPendingIntent).build();
NotificationManagerCompat notificationManager =
        NotificationManagerCompat.from(context);
notificationManager.notify(notificationId, mNotification);
}
build.gradle (App):
buildscript {
    repositories {
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        // The Fabric Gradle plugin uses an open ended version to react
        // quickly to Android tooling updates
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
repositories {
    maven { url 'https://maven.fabric.io/public' }
}
android {
    compileSdkVersion 21
    buildToolsVersion '23.0.2'
    defaultConfig {
        applicationId "com.amit.myapp"
        minSdkVersion 21
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    //    compile 'com.android.support:appcompat-v7:24.2.0'
    //    compile 'com.android.support:design:24.2.0'
    compile files('libs/gson-2.2.2.jar')
    compile 'com.android.support:appcompat-v7:21.+'
    compile 'com.github.PhilJay:MPAndroidChart:v3.0.0-beta1'
    compile('com.crashlytics.sdk.android:crashlytics:2.6.3@aar') {
        transitive = true;
    }
    testCompile 'junit:junit:4.12'
    compile 'com.google.firebase:firebase-core:9.4.0'
    compile 'com.google.firebase:firebase-messaging:9.4.0'
    //compile 'com.google.firebase:firebase-core:9.4.0'
    compile 'com.google.firebase:firebase-ads:9.4.0'
    compile 'com.android.support:recyclerview-v7'
    compile 'com.android.support:cardview-v7:21.0.+'
}
Here are my logs.
Fatal Exception: java.lang.NoSuchMethodError: No direct method <init>(Landroid/content/Context;Landroid/app/Notification;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/widget/RemoteViews;ILandroid/app/PendingIntent;Landroid/app/PendingIntent;Landroid/graphics/Bitmap;IIZZZILjava/lang/CharSequence;ZLjava/lang/String;Ljava/util/ArrayList;Landroid/os/Bundle;IILandroid/app/Notification;Ljava/lang/String;ZLjava/lang/String;)V in class Landroid/support/v4/app/NotificationCompatApi21$Builder; or its super classes (declaration of 'android.support.v4.app.NotificationCompatApi21$Builder' appears in /data/data/com.amit.myapp/files/instant-run/dex/slice-internal_impl-24.2.0_03ea6b597af0b87f5ed6808a426ca9992cd7a314-classes.dex)
       at android.support.v4.app.NotificationCompat$NotificationCompatImplApi21.build(NotificationCompat.java:761)
       at android.support.v4.app.NotificationCompat$Builder.build(NotificationCompat.java:1561)
       at com.google.firebase.messaging.zza.zzaf(Unknown Source)
       at com.google.firebase.messaging.zza.zzas(Unknown Source)
       at com.google.firebase.messaging.FirebaseMessagingService.zzo(Unknown Source)
       at com.google.firebase.messaging.FirebaseMessagingService.zzn(Unknown Source)
       at com.google.firebase.messaging.FirebaseMessagingService.zzm(Unknown Source)
       at com.google.firebase.iid.zzb$2.run(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
       at java.lang.Thread.run(Thread.java:818)
What am i doing wrong ?
P.S: it was working fine a day ago .
Thanks.