9

Getting this Error on app launch.

Fatal Exception: java.lang.NoClassDefFoundError: com.google.android.gms.internal.firebase-perf.zzw at com.google.firebase.perf.metrics.Trace.start(Unknown Source) at com.google.android.gms.internal.firebase-perf.zze.onActivityStarted(Unknown Source) at android.app.Application.dispatchActivityStarted(Application.java:205) at android.app.Activity.onStart(Activity.java:1156) at android.support.v4.app.FragmentActivity.onStart(Unknown Source) at android.support.v7.app.AppCompatActivity.onStart(Unknown Source) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1268) at android.app.Activity.performStart(Activity.java:6333) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2542) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2671) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1501) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5774) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:681)

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        maven {
            url 'https://maven.fabric.io/public'
        }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
        classpath 'com.google.gms:google-services:3.2.0'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
        classpath 'io.fabric.tools:gradle:1.24.4'


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

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}
allprojects {
    repositories {
        maven { url "https://jitpack.io" }
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

//

apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-crash'
apply plugin: 'io.fabric'
// Create a variable called keystorePropertiesFile, and initialize it to your
// keystore.properties file, in the rootProject folder.
def keystorePropertiesFile = rootProject.file("keystore.properties")

// Initialize a new Properties() object called keystoreProperties.
def keystoreProperties = new Properties()

// Load your keystore.properties file into the keystoreProperties object.
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.3"
    defaultConfig {
        applicationId "com.abc.xyz"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 18
        versionName "1.9"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }

//Signing configurations for build variants "release"
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    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:27.1.1'
    compile 'com.android.support.constraint:constraint-layout:1.1.2'
    compile 'com.android.support:design:27.1.1'
    compile 'com.android.support:support-v4:27.1.1'
    compile 'com.android.support:cardview-v7:27.1.1'
    compile 'de.hdodenhof:circleimageview:2.2.0'
    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'
    compile 'com.squareup.okhttp3:okhttp-urlconnection:3.4.1'
    compile 'com.squareup.okhttp3:logging-interceptor:3.5.0'
    compile 'com.android.support:support-vector-drawable:27.1.1'
    compile 'com.google.firebase:firebase-crash:16.0.1'
    compile 'com.google.firebase:firebase-messaging:17.3.0'
    compile 'com.google.firebase:firebase-config:16.0.0'
    compile 'com.google.android.gms:play-services-location:15.0.1'
    compile 'com.google.android.gms:play-services-maps:15.0.1'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.google.firebase:firebase-auth:16.0.3'
    compile 'com.google.android.gms:play-services-auth:16.0.0'
    compile 'com.google.firebase:firebase-core:16.0.1'
    compile 'com.google.firebase:firebase-perf:16.1.0'
    compile 'com.google.android.gms:play-services-places:15.0.1'

 compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
        transitive = true
    }
    testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.firebase-perf'
KENdi
  • 7,576
  • 2
  • 16
  • 31
Nishanth S Babu
  • 290
  • 3
  • 11

5 Answers5

5

Firebase-crash version and firebase-perf version must be lesser than or equal to the Firebase-core version so In your code just change the Firebase-crash:16.0.1 version to Firebase-crash:16.0.0 and firebase-perf:16.1.0 version to firebase-perf:16.0.0 Because your's firebase-core version is 16.0.1

   compile 'com.google.firebase:firebase-perf:16.0.0'
   compile 'com.google.firebase:firebase-crash:16.0.0'
Siva Kumar
  • 61
  • 7
  • This is basic things in Android. The Above person face NoClassDefFoundError . This Error shows one of the main reason is version mismatched. **ref** [ https://firebase.google.com/support/release-notes/android ] – Siva Kumar Oct 26 '18 at 05:34
4

I had the same problem, although Siva Kumar's solution worked, what also worked for me was to use the latest google-services library on your project build.gradle :

dependencies {
    classpath 'com.google.gms:google-services:4.1.0'
}
1

For me none of the other solutions worked. Very frustrating, the application didn't even start. Finally I removed Performance Monitoring:

//apply plugin: 'com.google.firebase.firebase-perf'
//implementation 'com.google.firebase:firebase-perf:16.1.2'
tsig
  • 148
  • 2
  • 6
  • For me also, same problem, app not starting, I tried lot of combinations. I was not updated google-services json file. I updated still the problem happens. Finally removed the firebase performance monitoring "com.google.firebase:firebase-perf:16.1.2" package and all started working fine. I was using old version (16.0.0) of this package and it was working fine, in the latest package, things are not working as expected. Thanks @tsig – SmartAndroidian Oct 14 '18 at 07:12
0

My problem was solved in two steps:

  • First, I updated all my Firebase dependencies in build.gradle (app) to their latest versions. Simply update every highlighted Firebase dependency.
  • Update your google-services library on your build.gradle (project) to the latest version. You can also use the warning-highlight of android studio to guide you.

    dependencies {
        classpath 'com.google.gms:google-services:4.3.0' // this is the latest as at July, 2019
    }
    

Everything should work fine after this.

I hope this helps. Merry coding!

Taslim Oseni
  • 6,086
  • 10
  • 44
  • 69
-3

As per the pre-requisites documentation on Firebase - Performance Monitoring documentation about android:

Before you begin, you need a few things set up in your environment:

A device running Android 4.0 (Ice Cream Sandwich) or newer, and Google Play services 16.1.0 or higher
The Google Play services SDK from the Google Repository, available in the Android SDK Manager
The latest version of Android Studio, version 2.2 or higher

This link explains in details for the setup.

Firebase Performance Monitoring Guide

Moreover, Alex has mentioned about the way we can bring in the latest google services in build cycle by upgrading the dependency mentioned in the gradle

classpath 'com.google.gms:google-services:4.1.0'
Rizwan
  • 2,369
  • 22
  • 27