Halaman ini menawarkan tips dan pemecahan masalah untuk masalah khusus Android yang mungkin Anda alami saat menggunakan Firebase.
Ada kesulitan lain atau masalah yang Anda alami tidak dijelaskan di bawah ini? Pastikan Anda membaca FAQ Firebase utama untuk mengetahui lebih lanjut FAQ lintas Firebase atau khusus produk.
Anda juga dapat melihat repo GitHub Firebase Android SDK untuk mengetahui daftar masalah dan pemecahan masalah terbaru yang dilaporkan. Sebaiknya Anda juga melaporkan masalah terkait Firebase Android SDK di sana.
Apakah saya perlu menyediakan SHA-1 saat menambahkan aplikasi Android ke project Firebase?
Informasi SHA-1 diperlukan oleh Firebase Authentication (saat menggunakan Login dengan Google atau Login dengan nomor telepon) dan Firebase Dynamic Links. Jika tidak menggunakan fitur tersebut, Anda tidak perlu menyediakan SHA-1.
Bagaimana cara mengatasi error: "Klien OAuth2 sudah ada untuk nama paket dan SHA-1 ini di project lain"?
Error ini terjadi jika kami mendeteksi ada project Firebase atau Google Cloud lain yang berisi client ID OAuth 2.0 dengan nama paket dan SHA-1 yang Anda tentukan. Pelajari cara mengatasi error ini.
Saat menambahkan Firebase ke project Android, saya mendapati error "Tidak dapat menemukan".
Biasanya, error ini berarti bahwa aplikasi Anda tidak memiliki satu atau beberapa referensi ke repositori Maven Google. Pastikan untuk menyertakan repositori Maven Google
(google()
) dalam file Konfigurasi Gradle Anda.
- Jika project Anda menggunakan sintaksis
plugins
, sertakan sintaksis dalam bagianplugins
di filesettings.gradle.kts
atausettings.gradle
. - Jika project Anda menggunakan sintaksis
buildscript
, sertakan sintaksis baik dalam bagianbuildscript
maupunallprojects
dalambuild.gradle.kts
ataubuild.gradle
level project Anda.
Saat menambahkan Firebase SDK ke project Android, saya mengalami error terkait dukungan kustom panggilan dan mengaktifkan desugaring.
Pada Mei 2021 (Firebase BoM v28.0.0), Firebase menonaktifkan desugaring untuk semua library Android-nya (lihat catatan rilis).
Perubahan ini berarti bahwa build Gradle yang menggunakan plugin Android Gradle (AGP) v4.2 atau versi sebelumnya harus mengaktifkan dukungan Java 8. Jika tidak, saat menambahkan Firebase SDK, project Android ini akan mengalami kegagalan build berikut:
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.
Untuk memperbaiki kegagalan build ini, Anda dapat mengikuti salah satu dari dua opsi berikut:
- Tambahkan
compileOptions
yang tercantum dari pesan error ke filebuild.gradle.kts
ataubuild.gradle
level aplikasi Anda. - Tingkatkan
minSdkVersion
untuk project Android Anda menjadi 26 atau lebih tinggi.
Login dengan Google menampilkan error "12500:" setelah saya merilis aplikasi. Bagaimana cara memperbaikinya?
Ada dua kemungkinan alasan mengapa hal ini terjadi: Anda belum memberikan email dukungan, atau kunci SHA hilang. Untuk memperbaiki error ini, pastikan semua kondisi berikut benar:
- Anda telah menambahkan email dukungan ke Setelan Umum project di Firebase console.
- Anda telah menambahkan
sidik jari Sertifikat SHA-1 dari keystore rilis/produksi
ke Aplikasi Android Firebase di Firebase console (buka
Setelan project , scroll ke bawah ke Aplikasi Anda, lalu pilih Aplikasi Android Anda). - Anda telah menambahkan
sidik jari Sertifikat SHA-1 dari Konsol Google Play
ke Aplikasi Android Firebase di Firebase console (buka
Setelan project , scroll ke bawah ke Aplikasi Anda, lalu pilih Aplikasi Android Anda).
Bagaimana cara menambahkan plugin Firebase ke project Android menggunakan sintaksis buildscript
?
Firebase memiliki plugin Gradle berikut:
Nama plugin | Koordinat Maven | Versi terbaru | ID Plugin |
---|---|---|---|
Plugin layanan Google Play | com.google.gms:google-services |
4.4.2 | com.google.gms.google-services |
Plugin App Distribution | com.google.firebase:firebase-appdistribution-gradle |
5.1.1 | com.google.firebase.appdistribution |
Plugin Crashlytics | com.google.firebase:firebase-crashlytics-gradle |
3.0.3 | com.google.firebase.crashlytics |
Plugin Performance Monitoring | com.google.firebase:perf-plugin |
1.4.2 | com.google.firebase.firebase-perf |
Berikut ini cara menambahkan plugin Firebase ke project Android yang masih menggunakan sintaksis buildscript
:
Dalam file Gradle level root (level project) (
<project>/build.gradle.kts
atau<project>/build.gradle
), tambahkan plugin sebagai dependensi yang menggunakan koordinat 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 } }Dalam file Gradle modul (level aplikasi) (biasanya
<project>/<app-module>/build.gradle.kts
atau<project>/<app-module>/build.gradle
), tambahkan plugin menggunakan ID plugin: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 ' ... }