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

Ionic v3添加cordova-plugin-firebase出现google_app_id资源重复报错如何解决

解决方案

1. 禁止cordova-plugin-firebase自动写入重复资源

你推测的冲突原因完全正确:cordova-plugin-firebase@0.1.24默认会主动将google_app_id、google_api_key写入strings.xml,同时google-services插件会读取google-services.json自动生成同名资源,最终导致重复报错。
找到项目根目录下的plugins/cordova-plugin-firebase/plugin.xml,搜索到以下配置段,删掉两个字符串的注入逻辑即可:

<config-file parent="/resources" target="res/values/strings.xml">
    <!-- 删掉下面两行 -->
    <string name="google_app_id">@string/google_app_id</string>
    <string name="google_api_key">@string/google_api_key</string>
</config-file>

注意:如果需要永久生效,避免后续重新安装插件时配置被覆盖,可以把修改后的插件存到项目本地目录,用cordova plugin add 本地插件路径 --save的方式安装,或者写cordova钩子自动修改plugin.xml

2. 清理已生成的冗余资源

执行以下命令清理旧构建产物,让修改后的配置生效:

# 删除已生成的安卓平台
ionic cordova platform rm android
# 清理插件缓存
rm -rf plugins/cordova-plugin-firebase
# 重新添加安卓平台
ionic cordova platform add android <你的安卓平台版本号>
# 测试构建
ionic cordova build android

如果不想重新加平台,也可以直接打开platforms/android/app/src/main/res/values/strings.xml,手动删除里面的google_app_id和google_api_key两个条目,即可临时解决问题。

3. 修正gradle依赖错误

你当前的build.gradle依赖存在两处错误,需要同步调整:

  • 移除重复依赖:dependencies中两次声明了com.google.firebase:firebase-messaging,删掉版本号为+的条目即可,避免版本冲突
  • 调整google-services位置:com.google.gms:google-services:+是gradle插件,不应该放在app模块的dependencies下,需要移到项目根build.gradle的dependencies -> classpath节点下,同时在app模块build.gradle的最底部添加apply plugin: 'com.google.gms.google-services',确保插件正常读取配置生成资源。

如果修改后仍然报错,可以在app模块build.gradle的android节点下添加资源去重配置,强制跳过冲突:

android {
    // 原有配置保留
    aaptOptions {
        additionalParameters "--auto-add-overlay"
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:48:01