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

Ionic3执行ionic cordova run android时出现重复包名错误

解决Ionic Cordova Android构建时的com.google.android.gms.license包冲突问题

这个问题我之前维护Ionic 3项目时也踩过坑!本质是你的项目里多个Cordova插件依赖了不同版本的Google Play Services库,导致com.google.android.gms.license这个包被重复引入,触发构建报错。结合你的环境(Ionic 3.20.0、Cordova Android 6.3.0),给你几个实测有效的解决办法:

1. 全局统一Google Play Services版本

这是最常用的根治方法,强制所有插件使用同一个兼容版本:

  • 在项目根目录的build.gradle文件中添加全局版本配置(如果没有这个文件就新建一个):
    ext {
        googlePlayServicesVersion = "11.8.0" // 这个版本适配Cordova Android 6.3.0,别选太高的
    }
    
  • 打开platforms/android/build.gradle,找到所有引用com.google.android.gms的依赖行,把版本号替换成全局变量,比如将:
    compile 'com.google.android.gms:play-services-maps:+'
    
    改成:
    compile "com.google.android.gms:play-services-maps:${googlePlayServicesVersion}"
    

2. 排查并处理冲突插件

先看看哪些插件在搞事情:

  • 运行命令列出所有已安装插件:
    cordova plugin list
    
  • 重点排查依赖Google服务的插件,比如cordova-plugin-googlemaps、cordova-plugin-firebase、cordova-plugin-admob这类。如果有功能重复的插件,直接移除一个;如果是版本太老,更新到兼容的最新版。

3. 安装插件时指定依赖版本

部分插件支持通过安装变量强制指定依赖版本,比如重新安装Firebase插件:

cordova plugin remove cordova-plugin-firebase
cordova plugin add cordova-plugin-firebase --variable ANDROID_FIREBASE_VERSION="11.8.0"

具体变量名要看对应插件的官方文档。

4. 清理缓存重建平台

有时候旧平台的缓存会残留冲突文件,彻底清理后重建:

ionic cordova platform remove android
ionic cordova platform add android@6.3.0
ionic cordova clean android
ionic cordova run android

注意:因为你用的是Cordova Android 6.3.0,Google Play Services版本别选12以上的,大概率会兼容报错,11.8.0是经过验证的稳妥版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:38:01