在 android 中找不到 FirebaseInitProvider

Posted

技术标签:

【中文标题】在 android 中找不到 FirebaseInitProvider【英文标题】:not found FirebaseInitProvider in android 【发布时间】:2017-07-08 19:22:57 【问题描述】:

我在找不到 android (com.google.firebase.provider.FirebaseInitProvider) 时遇到问题,但我的代码中没有使用 google firebase?

apply plugin: 'com.android.application'

android 
      compileSdkVersion 25
      buildToolsVersion "25.0.2"

      defaultConfig 
             applicationId "XXXXXXXXXXXX"
             minSdkVersion 14
             targetSdkVersion 25
             versionCode 21
             versionName "1.0.10"
             multiDexEnabled true
             testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
      

      buildTypes 
                release 
                      minifyEnabled false
                      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                
     


dependencies 
    compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', 
    exclude group: 'com.android.support', module: 'support-annotations'
)
compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:design:25.0.1'
compile 'com.google.android.gms:play-services-maps:10.0.1'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.google.android.gms:play-services:9.0.0'
compile project(':showcase')
testCompile 'junit:junit:4.12'


02-19 15:07:45.137 25956-25956/XXXXXXXX E/AndroidRuntime: 致命 例外:主要 进程:XXXXXXXX,PID:25956 java.lang.RuntimeException:无法获取提供者 com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException:找不到类 路径上的“com.google.firebase.provider.FirebaseInitProvider”: DexPathList[[压缩文件 "/data/app/XXXXXXXX-7.apk"],nativeLibraryDirectories=[/data/app-lib/XXXXXXXX-7, /vendor/lib, /system/lib]] 在 android.app.ActivityThread.installProvider(ActivityThread.java:5202) 在 android.app.ActivityThread.installContentProviders(ActivityThread.java:4794) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4734) 在 android.app.ActivityThread.access$1500(ActivityThread.java:166) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5590) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1280) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1096) 在 dalvik.system.NativeStart.main(本机方法) 引起:java.lang.ClassNotFoundException:找不到类 路径上的“com.google.firebase.provider.FirebaseInitProvider”: DexPathList[[压缩文件 "/data/app/XXXXXXXX-7.apk"],nativeLibraryDirectories=[/data/app-lib/XXXXXXXX-7, /vendor/lib, /system/lib]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:497) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:457) 在 android.app.ActivityThread.installProvider(ActivityThread.java:5187) 在 android.app.ActivityThread.installContentProviders(ActivityThread.java:4794) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4734) 在 android.app.ActivityThread.access$1500(ActivityThread.java:166) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5590) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1280) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1096) 在 dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

仅供参考-这不是您使用的真正 Volley。它是某人的镜像,可能不是最新的或可能有恶意代码。您应该使用 Google 官方版本。 【参考方案1】:

这是因为您包含了整个 Google Play 服务,这些服务在 10.0.1 中也有 Firebase 作为它们的依赖项。 尝试运行 ./gradlew :app:dependencies 以查看完整的依赖关系树

您应该将您的 Google Play 依赖项限制为您真正需要的那些。见https://developers.google.com/android/guides/setup

另外,您不应该使用两个不同的播放服务版本

编译'com.google.android.gms:play-services:10.0.1'

编译'com.google.android.gms:play-services:9.0.0'

【讨论】:

以上是关于在 android 中找不到 FirebaseInitProvider的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 Visual Studio 2019 (XAMARIN) 中找不到 Android 库

在 Android Studio 项目中找不到参数的方法 android()

在 Android 中找不到使用 DigestUtils 的方法

在 Android 中找不到位置提供程序

Flutter:在根项目“android”中找不到任务“assembleStageDebug”

在 Android 中找不到应用程序变量