Questa pagina offre suggerimenti e risoluzione dei problemi specifici di Android che potresti riscontrare durante l'utilizzo di Firebase.
Hai altre sfide o non vedi il tuo problema descritto di seguito? Assicurati di consultare le domande frequenti principali di Firebase per ulteriori domande frequenti su Firebase o specifiche del prodotto.
Puoi anche consultare il repository GitHub dell'SDK Android Firebase per un elenco aggiornato dei problemi segnalati e per la risoluzione dei problemi. Ti invitiamo a segnalare anche lì i tuoi problemi relativi all'SDK Android Firebase!
Devo fornire un SHA-1 quando aggiungo un'app Android a un progetto Firebase?
Le informazioni SHA-1 sono richieste dall'autenticazione Firebase (quando si utilizza l'accesso tramite Google o tramite numero di telefono ) e Firebase Dynamic Links . Se non utilizzi queste funzionalità, non è necessario fornire un SHA-1.
Come posso risolvere questo errore: "Esiste già un client OAuth2 per questo nome di pacchetto e SHA-1 in un altro progetto"?
Questo errore si verifica se rileviamo che un altro progetto Firebase o Google Cloud contiene un ID client OAuth 2.0 con il nome del pacchetto e SHA-1 che hai specificato. Scopri come risolvere questo errore .
Quando aggiungo Firebase al mio progetto Android, ricevo l'errore "Impossibile trovare".
Questo errore in genere significa che nella tua app mancano uno o più riferimenti al repository Maven di Google. Assicurati di includere il repository Maven di Google ( google()
) nel file di configurazione di Gradle.
- Se il tuo progetto utilizza la sintassi
plugins
, includila nella sezioneplugins
nel filesettings.gradle.kts
osettings.gradle
. - Se il tuo progetto utilizza la sintassi
buildscript
, includila sia nella sezionebuildscript
che inallprojects
nel filebuild.gradle.kts
obuild.gradle
a livello di progetto.
Quando aggiungo un SDK Firebase al mio progetto Android, ricevo un errore relativo al supporto di chiamata personalizzata e all'abilitazione del desugaring.
Nel maggio 2021 (Firebase BoM v28.0.0), Firebase ha disabilitato il desugaring per tutte le sue librerie Android (vedi nota di rilascio ).
Questa modifica significa che le build Gradle che utilizzano il plug-in Android Gradle (AGP) v4.2 o versioni precedenti devono abilitare il supporto Java 8. Altrimenti, quando si aggiunge un SDK Firebase, questi progetti Android ottengono il seguente errore di compilazione:
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.
Per correggere questo errore di compilazione, puoi seguire una delle due opzioni:
- Aggiungi le
compileOptions
elencate dal messaggio di errore al tuo filebuild.gradle.kts
obuild.gradle
a livello di app . - Aumenta la
minSdkVersion
per il tuo progetto Android a 26 o superiore.
L'accesso con Google mostra l'errore "12500:" dopo aver rilasciato la mia app. Come lo aggiusto?
Esistono due possibili ragioni per cui ciò potrebbe accadere: non hai fornito un'e-mail di supporto o ti manca una chiave SHA. Per correggere questo errore, assicurati che tutte queste condizioni siano vere:
- Hai aggiunto un'e-mail di supporto alle Impostazioni generali del tuo progetto nella console Firebase.
- Hai aggiunto l' impronta digitale del certificato SHA-1 dal tuo archivio chiavi di rilascio/produzione all'app Android Firebase nella console Firebase (vai a
Impostazioni progetto , scorri verso il basso fino a Le tue app , quindi seleziona la tua app Android). Hai aggiunto l' impronta digitale del certificato SHA-1 da Google Play Console all'app Android Firebase nella console Firebase (vai a Impostazioni progetto , scorri verso il basso fino a Le tue app , quindi seleziona la tua app Android).
Come aggiungere plugin Firebase a un progetto Android utilizzando la sintassi buildscript
?
buildscript
?Nome del plugin | Coordinate Maven | Ultima versione | ID del plug-in |
---|---|---|---|
Plug-in dei servizi Google Play | com.google.gms:google-services | 4.4.1 | com.google.gms.google-services |
Plug-in per la distribuzione delle app | com.google.firebase:firebase-appdistribution-gradle | 4.2.0 | com.google.firebase.appdistribution |
Plug-in Crashlytics | com.google.firebase:firebase-crashlytics-gradle | 2.9.9 | com.google.firebase.crashlytics |
Plug-in per il monitoraggio delle prestazioni | com.google.firebase:perf-plugin | 1.4.2 | com.google.firebase.firebase-perf |
buildscript
:
Nel file Gradle a livello di root (a livello di progetto) ( <project>/build.gradle.kts
o<project>/build.gradle
), aggiungi il plugin come dipendenza utilizzando le sue coordinate Maven: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
}
}Nel file Gradle del tuo modulo (a livello di app) (di solito <project>/<app-module>/build.gradle.kts
o<project>/<app-module>/build.gradle
), aggiungi il plug-in utilizzando il relativo ID plug-in :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 '
...
}