You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio升级至3.1.2后出现MultiDex及Firebase初始化错误

解决升级Android Studio 3.1.2后FirebaseInitProvider类找不到的问题

我之前升级AS到3.1.x版本时也碰到过一模一样的Firebase初始化错误,折腾了好一会儿才解决,给你几个亲测有效的解决步骤:

1. 检查Firebase依赖的完整配置

这个错误最常见的原因是Firebase的依赖或插件没配置全,尤其是升级AS后仓库配置有变化:

  • 根目录build.gradle要确保包含Google Maven仓库和正确版本的Google Services插件:
    buildscript {
        repositories {
            google() // 必须放在jcenter前面
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.2'
            // 对应AS3.1.2的兼容版本,不要用太新的插件
            classpath 'com.google.gms:google-services:4.2.0'
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
        }
    }
    
  • app模块build.gradle末尾必须添加Google Services插件,同时引入Firebase核心依赖:
    dependencies {
        // 引入Firebase核心依赖,版本要和插件兼容
        implementation 'com.google.firebase:firebase-core:16.0.9'
        // 你的其他依赖...
    }
    
    // 必须放在文件末尾
    apply plugin: 'com.google.gms.google-services'
    

2. 启用MultiDex适配(针对minSdkVersion 19)

你的minSdk是19,而Android 4.4及以下默认不支持MultiDex,一旦项目方法数接近或超过65k,就会出现类打包不进Dex的问题:

  • 在app模块的defaultConfig里开启MultiDex:
    defaultConfig {
        applicationId "com.example"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        // 新增这行
        multiDexEnabled true
    }
    
  • 添加MultiDex依赖:
    dependencies {
        implementation 'com.android.support:multidex:1.0.3' // 和compileSdk26匹配的版本
    }
    
  • 配置Application类:
    如果你的项目有自定义Application,让它继承MultiDexApplication,或者在attachBaseContext方法中手动初始化MultiDex:
    public class MyApp extends Application {
        @Override
        protected void attachBaseContext(Context base) {
            super.attachBaseContext(base);
            MultiDex.install(this);
        }
    }
    
    别忘了在AndroidManifest.xml中指定这个Application:
    <application
        android:name=".MyApp"
        // 其他配置...
    >
    </application>
    

3. 清理缓存并重建项目

升级AS后gradle缓存很容易出问题,一定要做这几步:

  • 点击AS顶部菜单栏的Build -> Clean Project
  • 接着点击Build -> Rebuild Project
  • 如果还是不行,手动删除项目根目录的.gradle、.idea文件夹,以及app模块的build目录,然后点击File -> Sync Project with Gradle Files重新同步

4. 处理混淆(如果开启了混淆)

如果你的项目启用了ProGuard,要在proguard-rules.pro中添加Firebase的混淆规则,避免核心类被混淆掉:

-keep class com.google.firebase.** { *; }
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.firebase.**

按照上面的步骤一步步来,应该就能解决这个ClassNotFoundException的问题了。

内容的提问来源于stack exchange,提问作者Nadimibox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:21:44