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!
Do I need to provide a SHA-1 when adding an Android app to a Firebase project?
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.
How do I resolve this error: "An OAuth2 client already exists for this package name and SHA-1 in another project"?
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.
When I add Firebase to my Android project, I get a "Could not find" 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 theplugins
section in yoursettings.gradle.kts
orsettings.gradle
file. - If your project is using the
buildscript
syntax, include it in both thebuildscript
andallprojects
sections in your project-levelbuild.gradle.kts
orbuild.gradle
file.
When I add a Firebase SDK to my Android project, I get an error about invoke-custom support and enabling desugaring.
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-levelbuild.gradle.kts
orbuild.gradle
file. - Increase the
minSdkVersion
for your Android project to 26 or above.
Google Sign-in is showing the error "12500:" after I released my app. How do I fix it?
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:
- You've added a support email to the General Settings of your project in the Firebase console.
- You've added the
SHA-1 Certificate fingerprint from your release/production keystore
to your Firebase Android App in the Firebase console (go to
Project settings , scroll down to Your apps, and then select your Android App). - You've added the
SHA-1 Certificate fingerprint from the Google Play Console
to your Firebase Android App in the Firebase console (go to
Project settings , scroll down to Your apps, and then select your Android App).
How to add Firebase plugins to an Android project using the buildscript
syntax?
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:
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 } }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 ' ... }