หน้านี้มีเคล็ดลับและการแก้ปัญหาเฉพาะสำหรับ Android ซึ่งคุณอาจพบเมื่อใช้ Firebase
หากพบปัญหาอื่นๆ หรือไม่พบปัญหาที่ระบุไว้ด้านล่าง อย่าลืมอ่านคําถามที่พบบ่อยหลักของ Firebase เพื่อดูคําถามที่พบบ่อยเกี่ยวกับ Firebase ทั้งหมดหรือเฉพาะผลิตภัณฑ์
นอกจากนี้ คุณยังดูรายการปัญหาที่รายงานและการแก้ปัญหาล่าสุดได้ในที่เก็บ GitHub ของ Firebase Android SDK เราขอแนะนําให้คุณยื่นปัญหาเกี่ยวกับ Firebase Android SDK ของคุณเองในฟอรัมดังกล่าวด้วย
ฉันต้องระบุ SHA-1 เมื่อเพิ่มแอป Android ลงในโปรเจ็กต์ Firebase ไหม
Firebase Authentication (เมื่อใช้Google Sign-In หรือการเข้าสู่ระบบด้วยหมายเลขโทรศัพท์) และ Firebase Dynamic Links ต้องใช้ข้อมูล SHA-1 หากไม่ได้ใช้ฟีเจอร์เหล่านี้ คุณก็ไม่ต้องระบุ SHA-1
ฉันจะแก้ไขข้อผิดพลาด "มีไคลเอ็นต์ OAuth2 สำหรับชื่อแพ็กเกจนี้อยู่แล้วและมี SHA-1 อยู่ในโปรเจ็กต์อื่น" ได้อย่างไร
ข้อผิดพลาดนี้เกิดขึ้นหากเราตรวจพบว่าโปรเจ็กต์ Firebase หรือ Google Cloud อื่นมีรหัสไคลเอ็นต์ OAuth 2.0 ที่มีชื่อแพ็กเกจและ SHA-1 ที่คุณระบุไว้ ดูวิธีแก้ไขข้อผิดพลาดนี้
เมื่อเพิ่ม Firebase ลงในโปรเจ็กต์ Android ฉันได้รับข้อผิดพลาด "ไม่พบ"
ข้อผิดพลาดนี้มักจะหมายความว่าแอปของคุณไม่มีข้อมูลอ้างอิงอย่างน้อย 1 รายการที่ไปยังที่เก็บ Maven ของ Google อย่าลืมใส่ที่เก็บ Maven ของ Google (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 ได้ปิดใช้การกรอง Sugar ออกจากไลบรารี 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 Sign-in แสดงข้อผิดพลาด "12500:" หลังจากที่ฉันเผยแพร่แอปแล้ว ฉันจะแก้ไขได้อย่างไร
ปัญหานี้อาจเกิดขึ้นได้ 2 สาเหตุ ได้แก่ คุณไม่ได้ระบุอีเมลการสนับสนุนหรือไม่มีคีย์ SHA โปรดตรวจสอบว่าเงื่อนไขทั้งหมดดังต่อไปนี้เป็นจริงเท่านั้นเพื่อแก้ไขข้อผิดพลาดนี้
- คุณได้เพิ่มอีเมลสำหรับการสนับสนุนลงในการตั้งค่าทั่วไปของโปรเจ็กต์ในคอนโซล Firebase แล้ว
- คุณได้เพิ่มลายนิ้วมือของใบรับรอง SHA-1 จากคีย์สโตร์รุ่น/เวอร์ชันที่ใช้งานจริงลงในแอป Android ของ Firebase ในคอนโซล Firebase (ไปที่
การตั้งค่าโปรเจ็กต์ เลื่อนลงไปที่แอปของคุณ แล้วเลือกแอป Android) - คุณได้เพิ่มลายนิ้วมือใบรับรอง SHA-1 จากคอนโซล Google Play ลงในแอป Android ของ Firebase ในคอนโซล Firebase แล้ว (ไปที่
การตั้งค่าโปรเจ็กต์ เลื่อนลงไปที่แอปของคุณ แล้วเลือกแอป Android)
วิธีเพิ่มปลั๊กอิน Firebase ลงในโปรเจ็กต์ Android โดยใช้ไวยากรณ์ buildscript
Firebase มีปลั๊กอิน Gradle ต่อไปนี้
ชื่อปลั๊กอิน | พิกัด Maven | เวอร์ชันล่าสุด | รหัสปลั๊กอิน |
---|---|---|---|
ปลั๊กอินบริการ 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 |
วิธีเพิ่มปลั๊กอิน Firebase ลงในโปรเจ็กต์ Android ที่ยังใช้รูปแบบคำสั่ง buildscript
มีดังนี้
ในไฟล์ Gradle ระดับรูท (ระดับโปรเจ็กต์) (
<project>/build.gradle.kts
หรือ<project>/build.gradle
) ให้เพิ่มปลั๊กอินเป็น Dependency โดยใช้พิกัด 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
) ให้เพิ่มปลั๊กอินโดยใช้รหัสปลั๊กอิน ดังนี้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 ' ... }