firebase - onesignal




प्रदाता com.google.firebase.provider.FirebaseInitProvider प्राप्त करने में असमर्थ (10)

मैं नए क्रैश टूल का परीक्षण कर रहा हूं: https://firebase.google.com/docs/crash/

चरणों के माध्यम से जाने के बाद, ऐप लॉन्च होता है और यह कहते हुए क्रैश हो जाता है:

05-18 17:28:18.870 28743 28743 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.IllegalStateException: Incorrect provider authority in manifest. Most likely due to a missing applicationId variable in application's build.gradle.
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at android.app.ActivityThread.installProvider(ActivityThread.java:5156)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at android.app.ActivityThread.-wrap1(ActivityThread.java)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:102)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:148)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:5417)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
05-18 17:28:18.870 28743 28743 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Incorrect provider authority in manifest. Most likely due to a missing applicationId variable in application's build.gradle.
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at com.google.firebase.provider.FirebaseInitProvider.zza(Unknown Source)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    at android.app.ActivityThread.installProvider(ActivityThread.java:5153)
05-18 17:28:18.870 28743 28743 E AndroidRuntime:    ... 10 more

अगर आपको भी यही समस्या है, लेकिन पहले से ही build.gradle में applicationId सेट कर build.gradle , तो आप निम्नलिखित की कोशिश कर सकते हैं:

  • एंड्रॉइड स्टूडियो में: Build > Clean Project
  • अन्य आईडीई में: स्वच्छ, पुनर्निर्माण, जो भी ...


एंड्रॉइड स्टूडियो सेटिंग पर जाएं (विंडोज़ में Ctrl+Alt+S दबाकर), Instant Run खोज Enable Instant Run और Enable Instant Run अनचेक Enable Instant Run

Instant Run को अक्षम करने और अपने एप्लिकेशन को फिर से चलाने से, समस्या हल हो जाएगी।


पूरे प्ले सर्विसेज़ लाइब्रेरी को शामिल न करें, लेकिन जिस चीज़ की आपको ज़रूरत है, उसका उपयोग करें। अपने बिल्ड में लाइन का उपयोग करें। नवीनीकरण :

android {               
defaultConfig {
    ....
    multiDexEnabled true
}
...
}

dependencies {
    compile 'com.android.support:multidex:1.0.1'
    .........
}

उदाहरण के लिए, Google Play Services API से उपयुक्त एक के साथ:

YourApplicationClass extends MultiDexApplication

मूल एप्लिकेशन पर प्रतिक्रिया के लिए, त्रुटि java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" यह केवल Android संस्करण <~ 4.4 वाले उपकरणों के लिए हो रहा था

यह केवल MainApplication.java साथ MultiDexApplication में Application जगह द्वारा हल

नोट: import android.support.multidex.MultiDexApplication;


मेरा था क्योंकि ग्रेड फ़ाइल में फायरबेस एसडीके एक गलत नंबर संस्करण पर सेट किया गया था।

मैंने ग्रेडेड से फायरबेस डिब्‍बों को हटा दिया और Firebase Assistant का उपयोग करके उन्‍हें फिर से स्‍थापित किया


मेरे मामले में, इस समस्या को मॉड्यूल build.gradle में इस लाइन को जोड़कर हल किया गया था:

/ BOTTOM में इस जोड़ें

apply plugin: 'com.google.gms.google-services'

Source


मैं एसडीके <22 के साथ उपकरणों में एक ही समस्या के साथ था, लेकिन मेरे लिए इसका कारण मल्टीडेक्स है, MultiDex.install attachBaseContext विधि में होना चाहिए।

यदि आप मल्टीडेक्स का उपयोग कर रहे हैं, तो यह कोशिश करें:

public class YourApplication extends Application {

    @Override
    protected void attachBaseContext(Context context) {
        super.attachBaseContext(context);
        MultiDex.install(this);
    }
    @Override
    public void onCreate() {
        super.onCreate();
        Realm.init(this); //initialize other plugins 

    }
}

एप्लिकेशन / build.gradle:

android {

    compileSdkVersion 24
    buildToolsVersion "24.0.2"

    defaultConfig {
        applicationId "com.test.app"
        minSdkVersion 16
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        multiDexEnabled true

    }

    dexOptions {
        javaMaxHeapSize "4g"
    }

....
}

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])

        compile 'com.android.support:appcompat-v7:24.2.1'
        ...
        compile 'com.google.firebase:firebase-messaging:9.6.1'
        compile 'com.google.android.gms:play-services:9.6.1'
        compile 'com.android.support:multidex:1.0.1'

    }
...

यह काम करना चाहिए:

चरण 1:

defaultConfig {
    applicationId "service.ingreens.com.gpsautoon"
    minSdkVersion 17
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

चरण 2:

compile 'com.android.support:multidex:1.0.1'

चरण 3: दूसरी कक्षा लें

public class MyApplication extends MultiDexApplication {
}

चरण 4: प्रकट होने पर इस पंक्ति को जोड़ें

<application
    android:name="android.support.multidex.MultiDexApplication">
</application>

स्वीकृत उत्तर से मेरी समस्या हल नहीं हुई।

यदि आप Multidex का उपयोग कर रहे हैं, तो आपके अनुप्रयोग को अनुप्रयोग के बजाय MultiDexApplication विस्तार करना चाहिए।

MyApplication.java

public class MyApplication extends MultiDexApplication{
     ...
}

AndroidManifest.xml

<application
      android:name="your.package.name.MyApplication"
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      ...
      />

आशा करता हूँ की ये काम करेगा।





firebase