समस्या का हल करना & Android और Firebase के लिए अक्सर पूछे जाने वाले सवाल

इस पेज पर, Android से जुड़ी समस्याओं को हल करने के लिए सलाह और उन्हें हल करने का तरीका बताया गया है जो आपको Firebase का इस्तेमाल करते समय मिल सकती है.

क्या आपके पास अन्य चुनौतियां हैं या क्या आपको नीचे दी गई अपनी समस्या नहीं दिख रही है? पक्का करें कि पैन-Firebase के बारे में ज़्यादा जानने के लिए, Firebase के बारे में अक्सर पूछे जाने वाले मुख्य सवाल देखें या किसी खास प्रॉडक्ट के बारे में अक्सर पूछे जाने वाले सवाल.

ज़्यादा जानकारी के लिए, Firebase Android SDK टूल के लिए, GitHub रेपो को देखें. हमारा सुझाव है कि आप वहां भी आप Firebase Android SDK से जुड़ी समस्याएं दर्ज कर सकते हैं!

SHA-1 की जानकारी Firebase प्रमाणीकरण के लिए आवश्यक है (इसका इस्तेमाल करते समय Google में साइन इन करें या फ़ोन नंबर से साइन इन करें) और Firebase डाइनैमिक लिंक. अगर आप इसका इस्तेमाल नहीं कर रहे हैं, तो इन सुविधाओं के लिए उपलब्ध है, तो आपको SHA-1 देने की ज़रूरत नहीं है.

यह गड़बड़ी तब होती है, जब हमें पता चलता है कि कोई दूसरा Firebase या Google Cloud प्रोजेक्ट में पैकेज नाम के साथ OAuth 2.0 क्लाइंट आईडी मौजूद है और SHA-1 हैं जिन्हें आपने तय किया है. सीखें कि कैसे इस गड़बड़ी को ठीक करें.

आम तौर पर, इस गड़बड़ी का मतलब यह है कि आपके ऐप्लिकेशन में एक या उससे ज़्यादा रेफ़रंस मौजूद नहीं हैं को Google की Maven रिपॉज़िटरी में एक्सपोर्ट किया जाएगा. पक्का करें कि आपने Google की Maven रिपॉज़िटरी को शामिल किया हो (google()) आपकी Gradle कॉन्फ़िगरेशन फ़ाइल में.

  • अगर आपके प्रोजेक्ट में plugins सिंटैक्स का इस्तेमाल हो रहा है, तो उसे शामिल करें आपकेplugins settings.gradle.kts या settings.gradle फ़ाइल.
  • अगर आपके प्रोजेक्ट में buildscript सिंटैक्स का इस्तेमाल हो रहा है, तो उसे शामिल करें इसे buildscript और allprojects, दोनों में सेक्शन अपने प्रोजेक्ट-लेवल build.gradle.kts पर या build.gradle फ़ाइल.

Firebase BoM v28.0.0 (Firebase BoM v28.0.0) में मई 2021 में, 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.

बिल्ड फ़ेल हो जाने की समस्या को ठीक करने के लिए, आप इन दो विकल्पों में से किसी एक का इस्तेमाल कर सकते हैं:

  • सूची में मौजूद compileOptions को गड़बड़ी के मैसेज से अपने ऐप्लिकेशन लेवल में जोड़ें build.gradle.kts या build.gradle फ़ाइल.
  • अपने Android प्रोजेक्ट के लिए, minSdkVersion को बढ़ाकर 26 या उससे ज़्यादा करें.

ऐसा होने की दो संभावित वजहें हो सकती हैं: आपने नहीं बताया सहायता ईमेल खोजें या आपके पास SHA कुंजी नहीं है. इस गड़बड़ी को ठीक करने के लिए, पक्का करें कि ये सभी शर्तें सही हैं:

Firebase में ये Gradle प्लग इन हैं:

प्लग इन का नाम Maven कोऑर्डिनेट सबसे नया वर्शन प्लग इन आईडी
Google Play services का प्लगिन 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

यहां ऐसे Android प्रोजेक्ट में Firebase प्लग इन जोड़ने का तरीका बताया गया है जो अब भी buildscript सिंटैक्स:

  1. आपकी रूट-लेवल (प्रोजेक्ट-लेवल) की Gradle फ़ाइल में (<project>/build.gradle.kts या <project>/build.gradle), प्लगिन को इस तौर पर जोड़ें इसके Maven कोऑर्डिनेट का इस्तेमाल करने वाली डिपेंडेंसी:

    KotlinGroovy
    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
     
    }
    }
  2. आपके मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर) में <project>/<app-module>/build.gradle.kts या <project>/<app-module>/build.gradle), तो प्लगिन को इसके प्लगइन आईडी:

    KotlinGroovy
    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'
       
    ...
    }