Trang này cung cấp các mẹo và cách khắc phục sự cố dành riêng cho Android mà bạn có thể gặp phải khi sử dụng Firebase.
Bạn gặp phải vấn đề khác hoặc không thấy vấn đề của mình được nêu ở bên dưới? Hãy nhớ xem các câu hỏi thường gặp chính về Firebase để biết thêm câu hỏi thường gặp về Firebase nói chung hoặc về từng sản phẩm.
Bạn cũng có thể xem kho lưu trữ GitHub của SDK Firebase Android để biết danh sách mới nhất về các vấn đề đã báo cáo và cách khắc phục sự cố. Bạn cũng nên gửi các vấn đề liên quan đến SDK Firebase cho Android của riêng mình tại đó!
Tôi có cần cung cấp SHA-1 khi thêm ứng dụng Android vào dự án Firebase không?
Firebase Authentication (khi sử dụng tính năng đăng nhập bằng Google hoặc đăng nhập bằng số điện thoại) và Firebase Dynamic Links yêu cầu thông tin SHA-1. Nếu không sử dụng các tính năng này, bạn không cần phải cung cấp SHA-1.
Làm cách nào để khắc phục lỗi này: "Đã có ứng dụng OAuth2 cho tên gói và SHA-1 này trong một dự án khác"?
Lỗi này xảy ra nếu chúng tôi phát hiện thấy một dự án Firebase hoặc Google Cloud khác chứa mã ứng dụng OAuth 2.0 có tên gói và SHA-1 mà bạn đã chỉ định. Tìm hiểu cách giải quyết lỗi này.
Khi thêm Firebase vào dự án Android, tôi gặp lỗi "Không tìm thấy".
Lỗi này thường có nghĩa là ứng dụng của bạn thiếu một hoặc nhiều tệp tham chiếu đến kho lưu trữ Maven của Google. Hãy nhớ thêm kho lưu trữ Maven của Google (google()
) vào tệp Cấu hình Gradle.
- Nếu dự án của bạn đang sử dụng cú pháp
plugins
, hãy đưa cú pháp đó vào phầnplugins
trong tệpsettings.gradle.kts
hoặcsettings.gradle
. - Nếu dự án của bạn đang sử dụng cú pháp
buildscript
, hãy đưa cú pháp đó vào cả mụcbuildscript
vàallprojects
trong tệpbuild.gradle.kts
hoặcbuild.gradle
cấp dự án.
Khi thêm SDK Firebase vào dự án Android, tôi gặp lỗi về việc hỗ trợ lệnh gọi tuỳ chỉnh và bật tính năng đơn giản hoá.
Vào tháng 5 năm 2021 (Firebase BoM v28.0.0), Firebase đã tắt tính năng đơn giản hoá cho tất cả thư viện Android (xem ghi chú phát hành).
Thay đổi này có nghĩa là các bản dựng Gradle sử dụng trình bổ trợ Android cho Gradle (AGP) phiên bản 4.2 trở về trước cần bật tính năng hỗ trợ Java 8. Nếu không, khi thêm SDK Firebase, các dự án Android này sẽ gặp lỗi bản dựng sau:
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.
Để khắc phục lỗi bản dựng này, bạn có thể làm theo một trong hai cách sau:
- Thêm
compileOptions
được liệt kê trong thông báo lỗi vào tệpbuild.gradle.kts
hoặcbuild.gradle
cấp ứng dụng. - Tăng
minSdkVersion
cho dự án Android lên 26 trở lên.
Tính năng Đăng nhập bằng Google đang hiển thị lỗi "12500:" sau khi tôi phát hành ứng dụng. Làm cách nào để khắc phục lỗi này?
Có hai lý do có thể khiến điều này xảy ra: bạn chưa cung cấp email hỗ trợ hoặc bạn thiếu khoá SHA. Để khắc phục lỗi này, hãy đảm bảo tất cả các điều kiện sau đều đúng:
- Bạn đã thêm email hỗ trợ vào phần Cài đặt chung của dự án trong bảng điều khiển Firebase.
- Bạn đã thêm vân tay số của Chứng chỉ SHA-1 từ kho khoá phát hành/sản xuất vào Ứng dụng Android Firebase trong bảng điều khiển Firebase (chuyển đến
Cài đặt dự án , di chuyển xuống Ứng dụng của bạn, sau đó chọn Ứng dụng Android). - Bạn đã thêm vân tay số Chứng chỉ SHA-1 từ Bảng điều khiển Google Play vào Ứng dụng Android Firebase trong bảng điều khiển Firebase (chuyển đến
Cài đặt dự án , di chuyển xuống Ứng dụng của bạn, sau đó chọn Ứng dụng Android).
Làm cách nào để thêm trình bổ trợ Firebase vào dự án Android bằng cú pháp buildscript
?
Firebase có các trình bổ trợ Gradle sau:
Tên trình bổ trợ | Toạ độ Maven | Phiên bản mới nhất | Mã nhận dạng trình bổ trợ |
---|---|---|---|
Trình bổ trợ Dịch vụ Google Play | com.google.gms:google-services |
4.4.2 | com.google.gms.google-services |
Trình bổ trợ App Distribution | com.google.firebase:firebase-appdistribution-gradle |
5.1.1 | com.google.firebase.appdistribution |
Trình bổ trợ Crashlytics | com.google.firebase:firebase-crashlytics-gradle |
3.0.3 | com.google.firebase.crashlytics |
Trình bổ trợ Performance Monitoring | com.google.firebase:perf-plugin |
1.4.2 | com.google.firebase.firebase-perf |
Sau đây là cách thêm trình bổ trợ Firebase vào một dự án Android vẫn sử dụng cú pháp buildscript
:
Trong tệp Gradle cấp gốc (cấp dự án) (
<project>/build.gradle.kts
hoặc<project>/build.gradle
), hãy thêm trình bổ trợ dưới dạng phần phụ thuộc bằng cách sử dụng toạ độ Maven của trình bổ trợ: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 } }Trong tệp Gradle mô-đun (cấp ứng dụng) (thường là
<project>/<app-module>/build.gradle.kts
hoặc<project>/<app-module>/build.gradle
), hãy thêm trình bổ trợ bằng mã nhận dạng trình bổ trợ: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 ' ... }