このページでは、Firebase の使用時に発生する可能性のある Android 固有の問題に関するヒントとトラブルシューティングについて説明します。
その他の課題がある場合や、該当する問題が以下で見つからない場合は、メインの Firebase のよくある質問で、Firebase 全体またはプロダクト固有のよくある質問をご覧ください。
報告された問題とトラブルシューティングの最新リストについては、Firebase Android SDK GitHub リポジトリをご確認ください。Firebase Android SDK 関連の問題が見つかった場合は、このリポジトリにご報告ください。
Android アプリを Firebase プロジェクトに追加するときに SHA-1 を提供する必要はありますか?
SHA-1 情報は、Firebase Authentication(Google ログインまたは電話番号ログインを使用する場合)と Firebase Dynamic Links で必要になります。こうした機能を使用しない場合、SHA-1 は不要です。
「このパッケージ名と SHA-1 の組み合わせを持つ OAuth2 クライアントは、別のプロジェクトにすでに存在します」というエラーが出た場合、どのように対処したらよいですか?
このエラーは、指定したパッケージ名と SHA-1 を持つ OAuth 2.0 クライアント ID が別の Firebase または Google Cloud プロジェクトに含まれている場合に発生します。このエラーの解決方法をご覧ください。
Android プロジェクトに Firebase を追加すると、見つからなかったことを示すエラーが表示されます。
このエラーは通常、アプリで Google の Maven リポジトリへの参照が 1 つ以上存在していないことを意味します。Gradle 構成ファイルに Google の Maven リポジトリ(google()
)が組み込まれていることを確認してください。
- プロジェクトで
plugins
構文を使用している場合は、settings.gradle.kts
ファイルまたはsettings.gradle
ファイルのplugins
セクションに含めます。 - プロジェクトで
buildscript
構文を使用している場合は、プロジェクト レベルのbuild.gradle.kts
ファイルまたはbuild.gradle
ファイルのbuildscript
セクションとallprojects
セクションの両方に含めます。
Firebase SDK を Android プロジェクトに追加すると、invoke-custom のサポートと脱糖の有効化に関するエラーが発生します。
2021 年 5 月(Firebase BoM v28.0.0)、すべての Android ライブラリで Firebase の脱糖が無効になりました(リリースノートをご覧ください)。
この変更により、Android Gradle プラグイン(AGP)v4.2 以前を使用する Gradle ビルドでは、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.
このビルドエラーを修正するには、次の 2 つの方法があります。
- エラー メッセージに示されている
compileOptions
をアプリレベルのbuild.gradle.kts
ファイルまたはbuild.gradle
ファイルに追加します。 - Android プロジェクトの
minSdkVersion
を 26 以上に設定します。
アプリをリリースした後、Google ログインでエラー「12500:」が表示されます。どうすればよいですか?
このエラーには 2 つの理由が考えられます。サポート メールアドレスを提供していなかった、または SHA 鍵がなかったことです。このエラーを修正するには、以下の条件をすべて満たすようにしてください。
- Firebase コンソールのプロジェクトの [全般設定] でサポートのメールアドレスを追加している。
- Firebase コンソールで、リリース / 本番環境用のキーストアの SHA-1 証明書のフィンガープリントを Firebase Android アプリに追加している(
[プロジェクトの設定] に移動し、下にスクロールして [マイアプリ] を表示し、Android アプリを選択)。 - Firebase コンソールで、Google Play Console の SHA-1 証明書のフィンガープリントを Firebase Android アプリに追加している(
[プロジェクトの設定] に移動し、下にスクロールして [マイアプリ] を表示し、Android アプリを選択)。
buildscript
構文を使用して Firebase プラグインを Android プロジェクトに追加するにはどうすればよいですか?
Firebase には、次の Gradle プラグインがあります。
プラグイン名 | Maven 座標 | 最新バージョン | プラグイン ID |
---|---|---|---|
Google Play 開発者サービス プラグイン | com.google.gms:google-services |
4.4.2 | com.google.gms.google-services |
App Distribution プラグイン | com.google.firebase:firebase-appdistribution-gradle |
5.1.1 | com.google.firebase.appdistribution |
Crashlytics プラグイン | com.google.firebase:firebase-crashlytics-gradle |
3.0.3 | com.google.firebase.crashlytics |
Performance Monitoring プラグイン | com.google.firebase:perf-plugin |
1.4.2 | com.google.firebase.firebase-perf |
buildscript
構文を引き続き使用する Android プロジェクトに Firebase プラグインを追加する方法は次のとおりです。
ルートレベル(プロジェクト レベル)の Gradle ファイル(
<project>/build.gradle.kts
または<project>/build.gradle
)で、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 } }モジュール(アプリレベル)の Gradle ファイル(通常は
<project>/<app-module>/build.gradle.kts
または<project>/<app-module>/build.gradle
)で、プラグイン 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 ' ... }