หน้านี้นำเสนอเคล็ดลับและการแก้ปัญหาเฉพาะของ Android ที่คุณอาจพบเมื่อใช้ Firebase
พบปัญหาอื่นๆ หรือไม่เห็นปัญหาของคุณตามที่ระบุไว้ด้านล่างนี้ อย่าลืมตรวจสอบ คำถามที่พบบ่อยเกี่ยวกับ Firebase หลัก เพื่อดูคำถามที่พบบ่อยเกี่ยวกับ pan-Firebase หรือเฉพาะผลิตภัณฑ์
คุณยังสามารถตรวจสอบ repo ของ Firebase Android SDK GitHub เพื่อดูรายการปัญหาที่รายงานและการแก้ปัญหาล่าสุด เราขอแนะนำให้คุณยื่นเรื่องที่เกี่ยวข้องกับ Firebase Android SDK ของคุณเองที่นั่นด้วย
ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร: "มีไคลเอ็นต์ OAuth2 อยู่แล้วสำหรับชื่อแพ็คเกจนี้และ SHA-1 ในโครงการอื่น"
ข้อผิดพลาดนี้เกิดขึ้นหากเราตรวจพบว่าโปรเจ็กต์ Firebase หรือ Google Cloud อื่นมีรหัสไคลเอ็นต์ OAuth 2.0 พร้อมด้วยชื่อแพ็กเกจและ SHA-1 ที่คุณระบุ เรียนรู้วิธี แก้ไขข้อผิดพลาดนี้
เมื่อฉันเพิ่ม Firebase ในโครงการ Android ของฉัน ฉันได้รับข้อผิดพลาด "ไม่พบ"
ข้อผิดพลาดนี้มักจะหมายความว่าแอปของคุณไม่มีการอ้างอิงอย่างน้อยหนึ่งรายการไปยังที่เก็บ 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 builds ที่ใช้ Android Gradle Plugin (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:" หลังจากที่ฉันเผยแพร่แอป ฉันจะแก้ไขได้อย่างไร?
มีเหตุผลที่เป็นไปได้สองประการที่ทำให้เกิดเหตุการณ์เช่นนี้: คุณไม่ได้ระบุอีเมลสนับสนุนหรือคุณไม่มีคีย์ SHA เพื่อแก้ไขข้อผิดพลาดนี้ ตรวจสอบให้แน่ใจว่าเงื่อนไข ทั้งหมด เหล่านี้เป็นจริง:
จะเพิ่มปลั๊กอิน Firebase ให้กับโปรเจ็กต์ Android โดยใช้ไวยากรณ์ buildscript
ได้อย่างไร
Firebase มีปลั๊กอิน Gradle ต่อไปนี้:
ชื่อปลั๊กอิน | พิกัดมาวิน | รุ่นล่าสุด | รหัสปลั๊กอิน |
---|
ปลั๊กอินบริการ Google Play | com.google.gms:google-services | 4.4.0 | com.google.gms.google-services |
ปลั๊กอินการเผยแพร่แอป | com.google.firebase:firebase-appdistribution-gradle | 4.0.0 | com.google.firebase.appdistribution |
ปลั๊กอิน Crashlytics | com.google.firebase:firebase-crashlytics-gradle | 2.9.9 | 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
) ให้เพิ่มปลั๊กอินเป็นการพึ่งพาโดยใช้พิกัด 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'
...
}