หน้านี้นำเสนอเคล็ดลับและการแก้ปัญหาเฉพาะสำหรับ Android ที่คุณอาจพบเมื่อใช้ Firebase
หากมีความท้าทายอื่นๆ หรือไม่พบปัญหาของคุณตามที่ระบุไว้ด้านล่าง อย่าลืมตรวจสอบว่า โปรดดูคำถามที่พบบ่อยเกี่ยวกับ Firebase หลักสำหรับ Pan-Firebase เพิ่มเติมหรือ คำถามที่พบบ่อยเฉพาะผลิตภัณฑ์
คุณยังดู พื้นที่เก็บข้อมูล GitHub ของ Firebase Android SDK สำหรับรายการล่าสุดของปัญหาที่รายงานเข้ามาและการแก้ปัญหา เราขอแนะนำให้คุณ รายงานปัญหาเกี่ยวกับ 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 ฉันได้รับข้อความแจ้ง "ไม่พบ"
ข้อผิดพลาดนี้มักหมายความว่าแอปของคุณไม่มีการอ้างอิงอย่างน้อย 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 ได้ปิดใช้การแยกน้ำตาล ไลบรารี 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.
หากต้องการแก้ไขความล้มเหลวของบิลด์นี้ ให้ทำตามตัวเลือก 1 ใน 2 ข้อต่อไปนี้
- เพิ่ม
compileOptions
ที่แสดงจากข้อความแสดงข้อผิดพลาดลงในระดับแอปbuild.gradle.kts
หรือbuild.gradle
ไฟล์ - เพิ่ม
minSdkVersion
สำหรับโปรเจ็กต์ Android เป็น 26 ขึ้นไป
Google Sign-In แสดงข้อผิดพลาด "12500:" หลังจากเปิดตัวแอปไปแล้ว อย่างไร จะแก้ไขได้ไหม
มีสาเหตุที่เป็นไปได้ 2 ประการที่ทำให้เหตุการณ์นี้เกิดขึ้น ได้แก่ คุณยังไม่ได้ระบุ อีเมลฝ่ายสนับสนุน หรือคุณไม่มีคีย์ SHA ในการแก้ไขข้อผิดพลาดนี้ โปรด ตรวจสอบว่าเงื่อนไขทั้งหมดต่อไปนี้เป็นจริง
- คุณได้เพิ่มอีเมลสนับสนุนลงใน การตั้งค่าทั่วไปของโปรเจ็กต์ ในคอนโซล Firebase
- คุณได้เพิ่ม
ลายนิ้วมือใบรับรอง SHA-1 จากคีย์สโตร์รุ่น/เวอร์ชันที่ใช้งานจริงของคุณ
ในแอป Firebase บน Android ในคอนโซล Firebase (ไปที่
การตั้งค่าโปรเจ็กต์ ให้เลื่อนลงไปที่ แอปของคุณ จากนั้นเลือกแอป Android ของคุณ) - คุณได้เพิ่ม
ลายนิ้วมือสำหรับใบรับรอง SHA-1 จาก Google Play Console
ในแอป Firebase บน Android ในคอนโซล 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.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 |
ต่อไปนี้เป็นวิธีเพิ่มปลั๊กอิน 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 '
...
}