没有find类“com.google.firebase.provider.FirebaseInitProvider”

之前,我的程序运行良好。 但是,当我刚刚更新我的Android工作室到最新版本(2.2build于15 – 9月16日),我有以下错误。 当我build立它,它说:build成成功,但是当我运行我的程序时出现此错误:

E / AndroidRuntime:致命exception:主进程:com.example.androidtutorial,PID:28293 java.lang.RuntimeException:无法获取提供者com.google.firebase.provider.FirebaseInitProvider:java.lang.ClassNotFoundException:未find类“com.google.firebase.provider.FirebaseInitProvider”path:DexPathList [[zip文件“/data/app/com.example.androidtutorial-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example (ActivityThread.java:5403)上的android.app.ActivityThread.installProvider(ActivityThread.java:5814).androidtutorial-2 / lib / x86,/ system / lib,/ vendor / lib] android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342)at android.app.ActivityThread.-wrap2(ActivityThread.java)at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1528)at android.os .Handler.dispatchMessage(Handler.java:102)在android.app.ActivityThread.main(ActivityThread.java:6077)上的android.os.Looper.loop(Looper.java:154) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)at com.android.internal.os.ZygoteInit.main(ZygoteInit。)上的java.lang.reflect.Method.invoke(Native Method) java:755)引起:java.lang.ClassNotFoundException:在path中找不到类“com.google.firebase.provider.FirebaseInitProvider”:DexPathList [[zip file] /data/app/com.example.androidtutorial-2 /base.apk"],nativeLibraryDirectories=[/data/app/com.example.androidtutorial-2/lib/x86,/ system / lib,/ vendor / lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java :56)在android.app.ActivityThread.installProvider(ActivityThread.java:5799)在java.lang.ClassLoader.loadClass(ClassLoader.java:380)在java.lang.ClassLoader.loadClass(ClassLoader.java:312) 。android.app.ActivityThre.app.ActivityThread.-wrap2(ActivityThread.java)上的android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342)上的.app.ActivityThread.installContentProviders(ActivityThread.java:5403) 在android.app.ActivityThread.main处的android.os.Looper.loop(Looper.java:154)处的android.os.Handler.dispatchMessage(Handler.java:102)处的广告$ H.handleMessage(ActivityThread.java:1528) (ActivityThread.java:6077)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)at com.android.internal.os java.lang.reflect.Method.invoke(Native Method) .ZygoteInit.main(ZygoteInit.java:755)

我已经看了其他的问题,但问题是不一样的。 我究竟做错了什么? 请帮忙

Solutions Collecting From Web of "没有find类“com.google.firebase.provider.FirebaseInitProvider”"

在应用程序模块build.gradle

android { ... defaultConfig { multiDexEnabled true ... } } dependencies { // add dependency compile 'com.android.support:multidex:1.0.1' } 

在AndroidManifest.xml中更改名称

 <application .... android:name=".MyApplication"> // ... </application> 

创build一个MyApplication.java文件

 public class MyApplication extends Application { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } } 

有关更多详细信息,请参阅此链接 。

看来你有超过64K方法的问题,然后试图解决它与multiDexEnabled true build.gradle(应用程序模块)。 但是你需要添加更多:

  1. 添加:在build.gradle的依赖关系中compile 'com.android.support:multidex:1.0.0'

  2. 将您的Application类扩展到MultiDexApplication。 并添加MultiDex.install(this); 在Application类的onCreated方法中。

你的问题应该得到解决

参考链接: https : //developer.android.com/studio/build/multidex.html

只要删除谷歌播放服务依赖关系,如果你包括它。 我能够每次使用这个修复这个错误。 如果您正在使用谷歌地图或任何其他特定的谷歌服务,那么只包括该特定服务的依赖关系。 也尝试检查谷歌播放服务依赖的版本。

应用程式=>的build.gradle

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

在清单中

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

这很好,你在清单中添加multidex支持,当我遇到问题时,我已经用64K以上的方式修复了这个问题。

 <?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> 

我得到了同样的错误。 我解决了它:

1)删除build.gralde中不必要的包。

2)禁用Firebase插件

3)升级构build工具到最新的

我得到了同样的错误,并解决它使用:

  1. 清理/重build您的项目。
  2. 重新启动Android Studio。
  3. 更新所有SDK工具和Android Studio。
  4. 清除caching并清除设备上的数据。