构建Ionic Cordova签名APK时遇InstanceIDListenerService警告求助
解决Ionic Cordova MFP Push插件的InstanceIDListenerService弃用警告
这个警告的根源很明确:你使用的cordova-plugin-mfp-push:8.0依赖的com.google.android.gms.iid.InstanceIDListenerService类,已经被Google在新版Play Services中完全弃用并移除了,取而代之的是Firebase Messaging相关的API。下面是具体的解决步骤:
1. 升级MFP相关插件到兼容Firebase的版本
IBM已经针对这个问题更新了MFP插件,适配了新的Firebase推送机制。你需要卸载旧插件并安装最新稳定版:
- 先移除旧的push和mfp插件:
cordova plugin remove cordova-plugin-mfp-push cordova plugin remove cordova-plugin-mfp - 安装最新版本的插件:
cordova plugin add cordova-plugin-mfp@latest cordova plugin add cordova-plugin-mfp-push@latest
2. 配置Android项目支持AndroidX和Firebase
新版MFP Push插件依赖AndroidX和Firebase,需要在config.xml中添加以下配置:
<platform name="android"> <!-- 启用AndroidX,Firebase依赖此框架 --> <preference name="AndroidXEnabled" value="true" /> <!-- 启用Google Services Gradle插件,用于自动同步Firebase配置 --> <preference name="GradlePluginGoogleServicesEnabled" value="true" /> </platform>
3. 清理并重新构建项目
为了确保所有依赖都正确更新,执行清理和重新构建命令:
cordova clean android cordova build android --release
额外说明
升级后的插件会自动使用com.google.firebase.messaging.FirebaseMessagingService替代旧的InstanceIDListenerService,这不仅能消除警告,还能让你的推送功能兼容最新的Android系统版本。如果构建过程中还有其他依赖冲突,可以检查项目根目录下的build.gradle文件,确保Google Play Services和Firebase的依赖版本保持一致。
内容的提问来源于stack exchange,提问作者Chathurika Senani




