На этой странице представлены советы и способы устранения неполадок, связанных с Android, с которыми вы можете столкнуться при использовании Firebase.
У вас есть другие проблемы или вы не видите свою проблему, описанную ниже? Обязательно ознакомьтесь с основными часто задаваемыми вопросами по Firebase, чтобы получить дополнительные часто задаваемые вопросы по Firebase или конкретно��у продукту.
Вы также можете просмотреть репозиторий Firebase Android SDK GitHub, чтобы получить актуальный список сообщаемых проблем и способы их устранения. Мы также рекомендуем вам сообщать сюда о своих проблемах, связанных с Firebase Android SDK!
Нужно ли мне предоставлять SHA-1 при добавлении приложения Android в проект Firebase?
Информация SHA-1 требуется для аутентификации Firebase (при использовании входа в Google или входа по номеру телефона ) и динамических ссылок Firebase . Если вы не используете эти функции, вам не нужно предоставлять SHA-1.
Как устранить эту ошибку: «Клиент OAuth2 уже существует для этого имени пакета и SHA-1 в другом проекте»?
Эта ошибка возникает, если мы обнаруживаем, что другой проект Firebase или Google Cloud содержит идентификатор клиента OAuth 2.0 с указанным вами именем пакета и SHA-1. Узнайте, как устранить эту ошибку .
Когда я добавляю Firebase в свой проект Android, я получаю сообщение об ошибке «Не удалось найти».
Эта ошибка обычно означает, что в вашем приложении отсутствует одна или несколько ссылок на репозиторий Google Maven. Обязательно включите репозиторий Google Maven ( google()
) в свой файл конфигурации Gradle.
- Если ваш проект использует синтаксис
plugins
, включите его в разделplugins
в файлеsettings.gradle.kts
илиsettings.gradle
. - Если ваш проект использует синтаксис
buildscript
, включите его в разделыbuildscript
иallprojects
в файлеbuild.gradle.kts
илиbuild.gradle
уровня проекта.
Когда я добавляю Firebase SDK в свой проект Android, я получаю сообщение об ошибке о поддержке пользовательского вызова и включении очистки от сахара.
В мае 2021 года (Firebase BoM v28.0.0) Firebase отключила удаление сахара для всех своих библиотек Android (см. примечания к выпуску ).
Это изменение означает, что сборки Gradle, использующие плагин Android Gradle (AGP) v4.2 или более ранней версии, должны включать поддержку Java 8. В противном случае при добавлении Firebase SDK в этих проектах Android возникает следующая ошибка сборки:
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.
Чтобы исправить этот сбой сборки, вы можете воспользоваться одним из двух вариантов:
- Добавьте перечисленные
compileOptions
из сообщения об ошибке в файлbuild.gradle.kts
илиbuild.gradle
уровня приложения . - Увеличьте
minSdkVersion
для вашего проекта Android до 26 или выше.
При входе в Google отображается ошибка «12500:» после того, как я выпустил свое приложение. Как это исправить?
Это может произойти по двум возможным причинам: вы не предоставили адрес электронной почты службы поддержки или вам не хватает ключа SHA. Чтобы исправить эту ошибку, убедитесь, что все эти условия верны:
- Вы добавили электронное письмо поддержки в общие настройки вашего проекта в консоли Firebase.
- Вы добавили отпечаток сертификата SHA-1 из хранилища ключей выпуска/производства в свое Android-приложение Firebase в консоли Firebase (перейдите к
settings проекта , прокр��т��те в��и�� до раздела «Ваши приложения» и выберите приложение для Android). Вы добавили отпечаток сертификата SHA-1 из консоли Google Play в свое приложение Firebase для Android в консоли Firebase (перейдите к settings проекта , прокрутите вниз до раздела «Ваши приложения» и выберите приложение для Android).
Как добавить плагины Firebase в проект Android, используя синтаксис buildscript
?
buildscript
?Название плагина | Координаты Maven | Последняя версия | Идентификатор плагина |
---|---|---|---|
Плагин сервисов Google Play | com.google.gms:google-services | 4.4.2 | com.google.gms.google-services |
Плагин распространения приложений | com.google.firebase:firebase-appdistribution-gradle | 5.0.0 | com.google.firebase.appdistribution |
Плагин Crashlytics | com.google.firebase:firebase-crashlytics-gradle | 3.0.2 | com.google.firebase.crashlytics |
Плагин мониторинга производительности | com.google.firebase:perf-plugin | 1.4.2 | com.google.firebase.firebase-perf |
buildscript
:
В файле Gradle корневого уровня (уровня проекта) ( <project>/build.gradle.kts
или<project>/build.gradle
) добавьте плагин в качестве зависимости, используя его координаты Maven:Kotlin 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 } }
Groovy 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 } }
В файле Gradle вашего модуля (на уровне приложения) (обычно <project>/<app-module>/build.gradle.kts
или<project>/<app-module>/build.gradle
) добавьте плагин, используя его идентификатор плагина. :Kotlin plugins { id("com.android.application") // Add the ID of the plugin id("FIREBASE_PLUGIN_ID") ... }
Groovy plugins { id 'com.android.application' // Add the ID of the plugin id 'FIREBASE_PLUGIN_ID' ... }