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 có gặp khó khăn khác hoặc không thấy vấn đề của mình được nêu dưới đây? Hãy nhớ kiểm tra xem phần Câu hỏi thường gặp chính về Firebase để biết thêm về pan-Firebase hoặc Câu hỏi thường gặp theo sản phẩm cụ thể.
Bạn cũng có thể xem Kho lưu trữ GitHub cho SDK Android của Firebase để xem danh sách cập nhật các vấn đề được báo cáo và cách khắc phục. Chúng tôi khuyến khích bạn bạn cũng có thể báo cáo các vấn đề liên quan đến SDK Android của Firebase tại đó!
Tôi có cần cung cấp SHA-1 khi thêm ứng dụng Android vào Firebase không? dự án?
Thông tin về SHA-1 được yêu cầu bởi tính năng Xác thực Firebase (khi sử dụng Đăng nhập vào Google hoặc đăng nhập bằng số điện thoại) và Liên kết động của Firebase. Nếu bạn không sử dụng các tính năng này, bạn không phải cung cấp SHA-1.
Làm cách nào để khắc phục lỗi này: "Ứng dụng OAuth2 đã tồn tại trong trường hợp này tên gói và SHA-1 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 Firebase hoặc Google Cloud khác dự án chứa ID ứng dụng khách OAuth 2.0 với tên gói và SHA-1 mà bạn đã chỉ định. Tìm hiểu cách khắc phục lỗi này.
Khi thêm Firebase vào dự án Android của mình, tôi nhận được thông báo "Không thể 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
vào kho lưu trữ Maven của Google. Đừng quên thêm vào kho lưu trữ Maven của Google
(google()
) trong 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 thêm cú pháp đó trong phầnplugins
trongsettings.gradle.kts
hoặcsettings.gradle
. - Nếu dự án của bạn sử dụng cú pháp
buildscript
, hãy thêm trong cảbuildscript
vàallprojects
trongbuild.gradle.kts
cấp dự án hoặcbuild.gradle
.
Khi thêm một SDK Firebase vào dự án Android của mình, tôi gặp lỗi về việc gọi-tùy chỉnh và cho phép đơn giản hóa.
Vào tháng 5 năm 2021 (Firebase BoM v28.0.0), Firebase đã vô hiệu hoá 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 đồng nghĩa với việc các bản dựng Gradle sử dụng trình bổ trợ Android cho Gradle (AGP) v4.2 hoặc phiên bản cũ hơn cần bật tính năng hỗ trợ Java 8. Nếu không, khi thêm một SDK Firebase, các dự án Android sau đây 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 cấp ứng dụng của bạnbuild.gradle.kts
hoặcbuild.gradle
. - Tăng
minSdkVersion
cho dự án Android của bạn lên 26 trở lên.
Trang Đăng nhập bằng Google hiển thị lỗi "12500:" sau khi phát hành ứng dụng. Cách thức tôi có sửa được không?
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 bị 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 một email hỗ trợ vào Chế độ cài đặt chung của dự án trong bảng điều khiển của Firebase.
- Bạn đã thêm
Dấu vân tay chứng chỉ SHA-1 trong kho khoá phát hành/phát hành công khai
vào Ứng dụng Android trên Firebase trong bảng điều khiển của Firebase (chuyển đến
Cài đặt dự án , di chuyển xuống Ứng dụng của bạn rồi chọn Ứng dụng Android). - Bạn đã thêm
Dấu vân tay Chứng chỉ SHA-1 trên Google Play Console
vào Ứng dụng Android trên Firebase trong bảng điều khiển của Firebase (chuyển đến
Cài đặt dự án , di chuyển xuống Ứng dụng của bạn rồi chọn Ứng dụng Android).
Cách thêm trình bổ trợ Firebase vào dự án Android bằng cách sử dụng buildscript
cú pháp không?
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ã 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ợ Phân phối ứng dụng | com.google.firebase:firebase-appdistribution-gradle |
5.0.0 | com.google.firebase.appdistribution |
Trình bổ trợ Crashlytics | com.google.firebase:firebase-crashlytics-gradle |
3.0.2 | com.google.firebase.crashlytics |
Trình bổ trợ Giám sát hiệu suất | com.google.firebase:perf-plugin |
1.4.2 | com.google.firebase.firebase-perf |
Dưới đây là cách thêm trình bổ trợ Firebase vào 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
), thêm trình bổ trợ dưới dạng một phần phụ thuộc sử dụng toạ độ 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
}
}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 cách sử dụng mã 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 '
...
}