Fatal Exception: java.lang.NoClassDefFoundError com.google.android.gms.internal.firebase-perf.zzw

故事扮演 提交于 2019-12-03 05:16:07

问题


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'

回答1:


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'



回答2:


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



回答3:


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'



回答4:


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!




回答5:


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'


来源:https://stackoverflow.com/questions/51941007/fatal-exception-java-lang-noclassdeffounderror-com-google-android-gms-internal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!