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

PhoneGap Build中Google Plus与推送通知插件冲突及版本问题求助

解决Cordova中Google Plus插件与推送通知插件的兼容问题

刚碰到过类似的坑,咱们来一步步拆解解决:

第一个问题:v5.2.1版本构建失败(报错Failed to apply plugin [class 'com.google.gms.googleservices.GoogleServicesPlugin'] > For input string: "+")

这个错误核心是Google Services插件和Google Plus插件依赖的Play Services库版本不兼容。v5.2.1的cordova-plugin-googleplus依赖的旧版Play Services库,和推送插件依赖的Google Services插件在解析版本号时冲突,把版本号里的"+"当成了非法输入。

修复方法:强制统一Play Services版本

你可以在config.xml里添加cordova-android-play-services-gradle-release插件,强制指定所有插件依赖的Play Services库版本,彻底解决版本冲突:

<plugin name="cordova-android-play-services-gradle-release" spec="^4.0.0">
    <variable name="PLAY_SERVICES_VERSION" value="17.0.0" />
</plugin>

添加后保留cordova-plugin-googleplus v5.2.1,重新构建项目就行。版本号可以根据你推送插件的需求微调,选一个双方都兼容的稳定版本(比如17.x系列就挺稳)。

第二个问题:v5.3.0版本构建成功但推送时崩溃

v5.3.0的Google Plus插件更新了依赖的Play Services库,但和你的推送插件初始化逻辑、权限配置可能不匹配,导致推送触发时出现运行时崩溃。

排查修复步骤:

  • 核对权限配置:确保AndroidManifest.xml里有推送必需的权限:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    
  • 抓崩溃日志:用Android Studio的Logcat看看崩溃时的堆栈信息,重点看AndroidRuntime的报错,一般能直接定位到冲突的类或者初始化步骤。
  • 调整插件初始化顺序:试试在推送插件之前初始化Google Plus插件(或者反过来),Cordova插件的加载顺序有时候会影响依赖库的初始化逻辑。
  • 降级推送插件:如果当前推送插件版本太新,和v5.3.0不兼容,找一个推送插件的稳定旧版本,凑出一套双方都兼容的版本组合。

个人推荐方案

优先用第一个问题的修复方法——v5.2.1的Google Plus插件+强制统一Play Services版本。v5.2.1是经过大量验证的稳定版本,只要解决了版本冲突,基本不会有后续的崩溃问题,比折腾v5.3.0的兼容性要省心。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:18:36