Troubleshooting & FAQ for Android and Firebase

This page offers tips and troubleshooting for Android-specific issues that you might encounter when using Firebase.

Have other challenges or don't see your issue outlined below? Make sure to check out the main Firebase FAQ for more pan-Firebase or product-specific FAQ.

You can also check out the Firebase Android SDK GitHub repo for an up-to-date list of reported issues and troubleshooting. We encourage you to file your own Firebase Android SDK related issues there, too!

SHA-1 information is required by Firebase Authentication (when using Google signin or phone number signin) and Firebase Dynamic Links. If you're not using these features, you don't have to provide a SHA-1.

This error occurs if we detect that another Firebase or Google Cloud project contains an OAuth 2.0 client ID with the package name and SHA-1 that you specified. Learn how to resolve this error.

This error usually means that your app is missing one or more references to Google's Maven repository. Make sure to include Google's Maven repository (google()) in your Gradle Configuration file.

  • If your project is using the plugins syntax, include it in the plugins section in your settings.gradle.kts or settings.gradle file.
  • If your project is using the buildscript syntax, include it in both the buildscript and allprojects sections in your project-level build.gradle.kts or build.gradle file.

In May 2021 (Firebase BoM v28.0.0), Firebase disabled desugaring for all its Android libraries (see release note).

This change means that Gradle builds that use Android Gradle plugin (AGP) v4.2 or earlier need to enable Java 8 support. Otherwise, when adding a Firebase SDK, these Android projects get the following build failure:

D8: Invoke-customs are only supported starting with Android O (--min-api 26)
Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.
The dependency contains Java 8 bytecode. Please enable desugaring by adding the following to build.gradle
android {
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}
See https://developer.android.com/studio/write/java8-support.html for details.
Alternatively, increase the minSdkVersion to 26 or above.

To fix this build failure, you can follow one of two options:

  • Add the listed compileOptions from the error message to your app-level build.gradle.kts or build.gradle file.
  • Increase the minSdkVersion for your Android project to 26 or above.

There are two possible reasons why this would happen: you haven’t provided a support email or you’re missing a SHA key. In order to fix this error, make sure all of these conditions are true:

Firebase has the following Gradle plugins:

Plugin name Maven coordinates Latest version Plugin ID
Google Play services plugin com.google.gms:google-services 4.4.2 com.google.gms.google-services
App Distribution plugin com.google.firebase:firebase-appdistribution-gradle 5.1.1 com.google.firebase.appdistribution
Crashlytics plugin com.google.firebase:firebase-crashlytics-gradle 3.0.3 com.google.firebase.crashlytics
Performance Monitoring plugin com.google.firebase:perf-plugin 1.4.2 com.google.firebase.firebase-perf

Here's how to add a Firebase plugin to an Android project that still uses the buildscript syntax:

  1. In your root-level (project-level) Gradle file (<project>/build.gradle.kts or <project>/build.gradle), add the plugin as a dependency using its Maven coordinates:

    buildscript {
    
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
          ...
    
          // Add the Maven coordinates and latest version of the plugin
          classpath ("PLUGIN_MAVEN_COORDINATES:PLUGIN_VERSION")
        }
    }
    
    allprojects {
      ...
    
      repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository
        mavenCentral()  // Maven Central repository
      }
    }
    
    buildscript {
    
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
          ...
    
          // Add the Maven coordinates and latest version of the plugin
          classpath 'PLUGIN_MAVEN_COORDINATES:PLUGIN_VERSION'
        }
    }
    
    allprojects {
      ...
    
      repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository
        mavenCentral()  // Maven Central repository
      }
    }
    
  2. In your module (app-level) Gradle file (usually <project>/<app-module>/build.gradle.kts or <project>/<app-module>/build.gradle), add the plugin using its plugin ID:

    plugins {
        id("com.android.application")
    
        // Add the ID of the plugin
        id("FIREBASE_PLUGIN_ID")
        ...
    }
    
    plugins {
        id 'com.android.application'
    
        // Add the ID of the plugin
        id 'FIREBASE_PLUGIN_ID'
        ...
    }