Reputation: 290
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'
Upvotes: 9
Views: 4489
Reputation: 6263
My problem was solved in two steps:
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!
Upvotes: 0
Reputation: 148
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'
Upvotes: 1
Reputation:
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'
}
Upvotes: 4
Reputation: 61
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'
Upvotes: 5
Reputation: 2437
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'
Upvotes: -3