发送OneSignal推送通知时Android应用崩溃问题求助
解决OneSignal推送后App崩溃的AbstractMethodError问题
嘿,这个问题我之前碰到过好几次,根源就是Firebase组件依赖版本不兼容,再加上你没配置Firebase必需的Google Services插件,导致Firebase Messaging Service的方法找不到正确实现,才触发了这个崩溃。给你一步步拆解修复方案:
第一步:补上Google Services插件(最关键的一步!)
你的项目里完全没配置Firebase必备的Google Services插件,这会导致Firebase的依赖和配置无法正确生效。
- 项目级build.gradle:在
buildscript的dependencies里加上这行:
buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0-alpha09' // 新增Google Services插件依赖 classpath 'com.google.gms:google-services:4.3.15' } }
- 模块级build.gradle:把这行放在文件的最后一行:
// 必须放在最后,用来处理Firebase的配置 apply plugin: 'com.google.gms.google-services'
第二步:统一Firebase依赖版本
你现在用的firebase-ads:15.0.1版本太老了,和OneSignal 3.9.x依赖的Firebase组件版本冲突。有两种解决方式:
方式一:升级Firebase Ads到兼容版本
直接把firebase-ads的版本换成和OneSignal兼容的,比如:
implementation 'com.google.firebase:firebase-ads:19.8.0'
方式二:排除OneSignal中的重复Firebase依赖
如果不想升级,也可以让OneSignal不要自带Firebase依赖,用你项目里的版本:
implementation('com.onesignal:OneSignal:[3.9.1, 3.99.99]') { exclude group: 'com.google.firebase' }
第三步:同步并重建项目
做完上面的修改后:
- 点击Android Studio顶部的
Sync Now按钮同步Gradle配置 - 执行
Build > Clean Project,再执行Build > Rebuild Project,彻底清理旧的构建缓存
为啥会出现这个错误?
简单说,AbstractMethodError在Firebase集成里大多是这几个原因:
- Firebase组件和Google Play Services的版本没对齐
- 缺少Google Services插件,导致Firebase的配置和依赖没正确初始化
- 多个依赖库引入了不同版本的Firebase组件,出现了冲突
内容的提问来源于stack exchange,提问作者akkk
相关产品推荐
相关产品推荐

