এই পৃষ্ঠায় ফায়ারবেস ব্যবহার করার সময় অ্যান্ড্রয়েড-সংক্রান্ত যেসকল সমস্যার সম্মুখীন আপনি হতে পারেন, সেগুলোর জন্য পরামর্শ ও সমাধান দেওয়া হয়েছে।
আপনার কি অন্য কোনো সমস্যা হচ্ছে অথবা নিচে আপনার সমস্যার বিবরণ খুঁজে পাচ্ছেন না? আরও সার্বিক ফায়ারবেস বা পণ্য-নির্দিষ্ট প্রশ্নোত্তরের জন্য মূল ফায়ারবেস প্রশ্নোত্তর বিভাগটি দেখে নিন।
রিপোর্ট করা সমস্যা এবং তার সমাধান সম্পর্কিত একটি হালনাগাদ তালিকার জন্য আপনি ফায়ারবেস অ্যান্ড্রয়েড এসডিকে গিটহাব রিপোটিও দেখতে পারেন। আমরা আপনাকে আপনার নিজের ফায়ারবেস অ্যান্ড্রয়েড এসডিকে সম্পর্কিত সমস্যাগুলোও সেখানে জানাতে উৎসাহিত করি!
আমি একটি ত্রুটি পাচ্ছি যে ktx লাইব্রেরিটি সমাধান করা যায়নি বা খুঁজে পাওয়া যায়নি।
এই ত্রুটিটি সম্ভবত এই কারণে হচ্ছে যে, আপনি Firebase BoM ব্যবহার করছেন এবং আপনার প্রোডাক্ট লাইব্রেরি ডিপেন্ডেন্সি হিসেবে একটি KTX মডিউল নির্দিষ্ট করেছেন।
২০২৫ সালের জুলাই মাসে, আমরা KTX মডিউলগুলোর নতুন সংস্করণ প্রকাশ করা বন্ধ করে দিয়েছি এবং Firebase Android BoM (v34.0.0) থেকে KTX লাইব্রেরিগুলো সরিয়ে দিয়েছি।
আপনি যদি পূর্বে প্রকাশিত KTX মডিউলগুলো থেকে KTX API ব্যবহার করে থাকেন, তাহলে আমরা আপনাকে এর পরিবর্তে মূল মডিউলগুলো থেকে KTX API ব্যবহার করার জন্য আপনার অ্যাপটি মাইগ্রেট করার পরামর্শ দিচ্ছি। বিস্তারিত জানতে, এই উদ্যোগ সম্পর্কিত FAQ দেখুন।
আমি এই ত্রুটিটি কীভাবে সমাধান করব: "অন্য একটি প্রকল্পে এই প্যাকেজ নাম এবং SHA-1 এর জন্য একটি OAuth2 ক্লায়েন্ট ইতিমধ্যেই বিদ্যমান"?
এই ত্রুটিটি ঘটে যদি আমরা শনাক্ত করি যে অন্য কোনো Firebase বা Google Cloud প্রজেক্টে আপনার নির্দিষ্ট করা প্যাকেজ নাম এবং SHA-1 সহ একটি OAuth 2.0 ক্লায়েন্ট আইডি রয়েছে। এই ত্রুটিটি কীভাবে সমাধান করবেন তা জানুন।
আমার অ্যান্ড্রয়েড প্রজেক্টে ফায়ারবেস যোগ করার সময় আমি একটি "খুঁজে পাওয়া যায়নি" ত্রুটি পাই।
এই ত্রুটির মানে সাধারণত এই যে, আপনার অ্যাপে গুগলের মেভেন রিপোজিটরির এক বা একাধিক রেফারেন্স নেই। আপনার গ্রেডল কনফিগারেশন ফাইলে গুগলের মেভেন রিপোজিটরি ( google() ) অন্তর্ভুক্ত করা নিশ্চিত করুন।
- আপনার প্রজেক্টে যদি
plugins সিনট্যাক্স ব্যবহার করা হয়, তাহলে settings.gradle.kts অথবা settings.gradle ফাইলের plugins সেকশনে এটি অন্তর্ভুক্ত করুন। - আপনার প্রজেক্টে যদি
buildscript সিনট্যাক্স ব্যবহার করা হয়, তাহলে প্রজেক্ট-স্তরের build.gradle.kts বা build.gradle ফাইলের buildscript এবং allprojects উভয় সেকশনেই এটি অন্তর্ভুক্ত করুন।
যখন আমি আমার অ্যান্ড্রয়েড প্রজেক্টে ফায়ারবেস এসডিকে যোগ করি, তখন invoke-custom support এবং desugaring সক্রিয় করা নিয়ে একটি ত্রুটি পাই।
২০২১ সালের মে মাসে ( Firebase BoM ভি২৮.০.০), ফায়ারবেস তার সকল অ্যান্ড্রয়েড লাইব্রেরির জন্য ডিসুগারিং নিষ্ক্রিয় করে দিয়েছে ( রিলিজ নোট দেখুন)।
এই পরিবর্তনের ফলে, যে গ্রেডল বিল্ডগুলো অ্যান্ড্রয়েড গ্রেডল প্লাগইন (AGP) v4.2 বা তার আগের সংস্করণ ব্যবহার করে, সেগুলোতে জাভা ৮ সাপোর্ট চালু করতে হবে। অন্যথায়, ফায়ারবেস এসডিকে যোগ করার সময় এই অ্যান্ড্রয়েড প্রজেক্টগুলোতে নিম্নলিখিত বিল্ড ব্যর্থতা দেখা দেয়:
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 বাড়িয়ে ২৬ বা তার বেশি করুন।
আমার অ্যাপটি রিলিজ করার পর গুগল সাইন-ইন "12500:" ত্রুটিটি দেখাচ্ছে। আমি কীভাবে এটি ঠিক করব?
এর দুটি সম্ভাব্য কারণ থাকতে পারে: আপনি কোনো সাপোর্ট ইমেল দেননি অথবা আপনার SHA কী নেই। এই ত্রুটিটি সমাধান করার জন্য, নিশ্চিত করুন যে এই সমস্ত শর্ত সত্য:
buildscript সিনট্যাক্স ব্যবহার করে কীভাবে একটি অ্যান্ড্রয়েড প্রজেক্টে ফায়ারবেস প্লাগইন যুক্ত করা যায়?
ফায়ারবেসে নিম্নলিখিত গ্রেডল প্লাগইনগুলো রয়েছে:
| প্লাগইনের নাম | Maven স্থানাঙ্ক | সর্বশেষ সংস্করণ | প্লাগইন আইডি |
|---|
| গুগল প্লে পরিষেবা প্লাগইন | com.google.gms:google-services | ৪.৪.৪ | com.google.gms.google-services |
| App Distribution প্লাগইন | com.google.firebase:firebase-appdistribution-gradle | ৫.২.১ | com.google.firebase.appdistribution |
| Crashlytics প্লাগইন | com.google.firebase:firebase-crashlytics-gradle | ৩.০.৭ | com.google.firebase.crashlytics |
| Performance Monitoring প্লাগইন | com.google.firebase:perf-plugin | ২.০.২ | com.google.firebase.firebase-perf |
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
}
}
আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত <project>/<app-module>/build.gradle.kts অথবা <project>/<app-module>/build.gradle ), এর প্লাগইন আইডি ব্যবহার করে প্লাগইনটি যোগ করুন:
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'
...
}
আমার অ্যাপে কোন ওপেন সোর্স বিজ্ঞপ্তিগুলো অন্তর্ভুক্ত করা উচিত?
ফায়ারবেস অ্যান্ড্রয়েড এসডিকে-তে লাইসেন্সের তথ্য দেখানোর জন্য একটি হেল্পার Activity রয়েছে।