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

升级至API31后遇com.google.android.gms.internal.zzbej找不到错误

解决API31升级后Firebase运行时找不到com.google.android.gms.internal.zzbej类的问题

核心问题分析

这个报错本质是升级API31后,Firebase/Google Play服务的依赖版本不统一,旧版内部类被遗留但新版库已移除该类,导致运行时出现类查找冲突。

具体解决方案

  • 强制统一依赖版本,正确使用Firebase BOM
    确保所有Firebase组件都通过BOM管理,不要单独指定版本,彻底避免版本不一致问题。示例配置:

    dependencies {
        // 引入最新版Firebase BOM(版本号可参考官方文档更新)
        implementation platform('com.google.firebase:firebase-bom:32.7.0')
        // Firebase组件无需指定版本,由BOM统一控制
        implementation 'com.google.firebase:firebase-messaging'
        implementation 'com.google.firebase:firebase-analytics'
        // Google Play服务组件保持版本统一
        implementation 'com.google.android.gms:play-services-base:18.2.0'
    }
    
  • 彻底清理构建缓存
    清除旧构建残留,避免缓存干扰:

    1. 执行命令:./gradlew clean
    2. 删除项目根目录的.gradle文件夹和模块下的build文件夹
    3. 重启Android Studio后重新同步项目
  • 排查第三方库的依赖冲突
    用./gradlew app:dependencies生成依赖树,查找是否有第三方库依赖了旧版Google Play服务。如果有,通过exclude排除旧版依赖:

    implementation('你的第三方库坐标') {
        exclude group: 'com.google.android.gms'
    }
    
  • 确认Manifest配置正确性
    确保Firebase相关组件(如MessagingService)的android:exported属性设置正确,同时intent-filter配置完整:

    <service
        android:name=".MyFirebaseMessagingService"
        android:exported="true">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    
  • 临时禁用混淆优化(仅用于排查)
    如果以上方法无效,可在proguard-rules.pro中添加规则避免该类被混淆移除,但这是临时方案,优先解决依赖版本问题:

    -keep class com.google.android.gms.internal.zzbej { *; }
    -keep class com.google.android.gms.internal.** { *; }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 13:45:32