このページでは、Firebase の使用時に発生する可能性のある Android 固有の問題に関するヒントとトラブルシューティングについて説明します。
その他の課題がある場合や、該当する問題が以下で見つからない場合は、メインの Firebase のよくある質問で、Firebase 全体またはプロダクト固有のよくある質問をご覧ください。
報告された問題とトラブルシューティングの最新リストについては、Firebase Android SDK GitHub リポジトリをご確認ください。Firebase Android SDK 関連の問題が見つかった場合は、このリポジトリにご報告ください。
「このパッケージ名と 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 鍵がなかったことです。このエラーを修正するには、以下の条件をすべて満たすようにしてください。
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.0.0 |
com.google.firebase.appdistribution |
Crashlytics プラグイン |
com.google.firebase:firebase-crashlytics-gradle |
3.0.2 |
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 座標を使用して依存関係としてプラグインを追加します。
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
)で、プラグイン ID を使用してプラグインを追加します。
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'
...
}