web-dev-qa-db-de.com

Klasse "com.google.firebase.provider.FirebaseInitProvider" wurde nicht gefunden

Vorher lief mein Programm gut. Aber als ich gerade mein Android Studio auf die neueste Version aktualisiert habe (2.2 auf Basis von 15-sept-16), wird der folgende Fehler angezeigt. Wenn ich es erstellte, heißt es: Erfolgreich erstellt, aber dieser Fehler wird angezeigt, wenn ich mein Programm ausführe:

E/AndroidRuntime: FATAL EXCEPTION: main Prozess: com.example.androidtutorial, PID: 28293 Java.lang.RuntimeException: Anbieter kann nicht abgerufen werden com.google.firebase.provider.FirebaseInitProvider: Java.lang.ClassNotFoundException: Klasse nicht gefunden "com.google.firebase.provider.FirebaseInitProvider" im Pfad: DexPathList [[Zip-Datei "/data/app/com.example.androidtutorial-2/base.apk"},nativeLibraryDirectories=[/data/app/com.example .androidtutorial-2/lib/x86,/system/lib,/vendor/lib]] bei Android.app.ActivityThread.installProvider (ActivityThread.Java:5814) bei Android.app.ActivityThread.installContentProviders (ActivityThread.Java:5403) bei Android.app.ActivityThread.handleBindApplication (ActivityThread.Java:5342) bei Android.app.ActivityThread.-wrap2 (ActivityThread.Java) bei Android.app.ActivityThread $ H.handleMessage (ActivityThread.Java:1528) bei Android.os .Handler.dispatchMessage (Handler.Java:102) bei Android.os.Looper.loop (Looper.Java:154) bei Android.app.ActivityThread.main (ActivityThread.Java:6077) at Java.lang.reflect.Method.invoke (Native Method) at com.Android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.Java:865) at com.Android.internal.os.ZygoteInit.main (ZygoteInit. Java: 755) Auslöser: Java.lang.ClassNotFoundException: Die Klasse "com.google.firebase.provider.FirebaseInitProvider" wurde im folgenden Pfad nicht gefunden: DexPathList [[Zip-Datei "/data/app/com.example.androidtutorial-2 /base.apk"‹ ,nativeLibraryDirectories=[/data/app/com.example.androidtutorial-2/lib/x86,/system/lib,/vendor/lib]] unter dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.Java : 56) bei Java.lang.ClassLoader.loadClass (ClassLoader.Java:380) bei Java.lang.ClassLoader.loadClass (ClassLoader.Java:312) bei Android.app.ActivityThread.installProvider (ActivityThread.Java:5799) bei Android .app.ActivityThread.installContentProviders (ActivityThread.Java:5403) bei Android.app.ActivityThread.handleBindApplication (ActivityThread.Java:5342) bei Android.app.ActivityThread.-wrap2 (ActivityThread.Java) bei Android.app.Activi tyThread $ H.handleMessage (ActivityThread.Java:1528) bei Android.os.Handler.dispatchMessage (Handler.Java:102) bei Android.os.Looper.loop (Looper.Java:154) bei Android.app.ActivityThread.main (ActivityThread.Java:6077) bei Java.lang.reflect.Method.invoke (Native Method) bei com.Android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.Java:865) bei com.Android.internal.os .ZygoteInit.main (ZygoteInit.Java:755)

Ich habe mir bereits andere Fragen angesehen, aber das Problem ist nicht dasselbe. Was mache ich falsch? Bitte helfen Sie

11
TSR

Im App-Modul build.gradle

Android {
   ...
   defaultConfig {
      multiDexEnabled true
      ...
   }
}

dependencies {
  // add dependency 
  compile 'com.Android.support:multidex:1.0.1'
}

Namen in AndroidManifest.xml ändern

<application
   ....
  Android:name=".MyApplication">

 // ...
</application>

Erstellen Sie eine MyApplication.Java -Datei

public class MyApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

}

Weitere Informationen finden Sie hier link .

16
Garg's

Es scheint, dass Sie ein Problem mit Over 64K-Methoden haben und dann versucht haben, es mit multiDexEnabled true in build.gradle (App-Modul) zu lösen. Sie müssen jedoch mehr hinzufügen als:

  1. add: compile 'com.Android.support:multidex:1.0.0' in Abhängigkeiten von build.gradle

  2. Erweitert Ihre Application-Klasse um MultiDexApplication. und fügen Sie MultiDex.install(this); in der onCreated-Methode der Application-Klasse hinzu.

ihr Problem sollte gelöst sein

link verweisen: https://developer.Android.com/studio/build/multidex.html

10
Chi Minh Trinh

app => build.gradle

Android {
.....
defaultConfig {
......
 multiDexEnabled true//add this line
}
......
dependencies{
 compile 'com.Android.support:multidex:1.0.1'//add this line
}

In Manifest

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
....
<application
....
 Android:name="Android.support.multidex.MultiDexApplication" 
...>
 <activity   />
...

</application>

</manifest>
2

Dies funktioniert großartig. Sie fügen Multidex-Unterstützung in Manifest hinzu. Wenn ich auf ein Problem stoße, habe ich es auf mehr als 64 KB behoben.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.example.myapp">
    <application
            Android:name="Android.support.multidex.MultiDexApplication" >
        ...
    </application>
</manifest>
2
ProgrammerCk

entfernen Sie einfach die Abhängigkeiten von Google Play-Diensten, wenn Sie sie hinzufügen. Ich kann diesen Fehler jedes Mal damit beheben. Wenn Sie Google Maps oder einen anderen bestimmten Google-Dienst verwenden, geben Sie nur die Abhängigkeit für diesen bestimmten Dienst an. Versuchen Sie auch, die Version der Abhängigkeit des Google Play-Dienstes zu überprüfen.

2
akitsme

Ich habe den gleichen Fehler erhalten und ihn mit folgendem behoben:

  1. Reinigen Sie Ihr Projekt.
  2. Starten Sie Android Studio neu.
  3. Aktualisieren Sie alle SDK-Tools und Android Studio.
  4. Cache löschen und Daten auf Gerät löschen.
0
Vaibhav Jain

Ich habe den gleichen Fehler bekommen. Ich habe es gelöst durch:

1) Entfernen nicht benötigter Pakete in build.gralde. 

2) Deaktivieren des Firebase-Plugins 

3) Aktualisieren Sie das Build-Tool auf den neuesten Stand 

0
user6889641

Fügen Sie der Manifest.xml die folgende Zeile hinzu

 <application
    Android:name="Android.support.multidex.MultiDexApplication"

Fügen Sie diese Datei mit Sn-App-Ebene build.gradle hinzu

 defaultConfig {
    multiDexEnabled true
} 
      ......

dependencies {
compile 'com.Android.support:multidex:1.0.1'
}
0

Eine einfache Lösung, die für mich funktioniert, nachdem Sie alle diese Lösungen ausprobiert haben, ist das Löschen des Verzeichnisses output unter project\app\build\. Durch das erneute Erstellen des Projekts wird es ausgeführt.

0
Zubair Akber