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

Ionic/Cordova集成FCM时processDebugGoogleServices任务执行失败求助

解决Ionic FCM插件Android构建的版本冲突与Dex重复问题

我来帮你搞定这个头疼的构建问题!你遇到的是Google Play Services/Firebase版本与google-services插件不兼容的典型问题,直接降级到9.0.0又触发了多Dex重复定义的坑,本质都是依赖版本不统一搞出来的麻烦。下面是一步步的解决方案:

第一步:统一所有Google服务与Firebase的版本号

别再用+号让系统自动匹配版本了,手动指定和你现有Play Services一致的版本(比如你原来用的11.0.4),确保所有Google系依赖版本完全统一:

  • 修改/platform/android/project.properties文件:
    target=android-26
    android.library.reference.1=CordovaLib
    cordova.system.library.1=com.google.android.gms:play-services-base:11.0.4
    cordova.system.library.2=com.google.android.gms:play-services-ads:11.0.4
    cordova.system.library.3=com.google.firebase:firebase-core:11.0.4
    cordova.system.library.4=com.google.firebase:firebase-messaging:11.0.4
    cordova.gradle.include.1=cordova-plugin-fcm/bar-FCMPlugin.gradle
    cordova.gradle.include.2=phonegap-plugin-barcodescanner/bar-barcodescanner.gradle
    cordova.gradle.include.3=cordova-android-play-services-gradle-release/bar-cordova-android-play-services-gradle-release.gradle
    
  • 修改/platform/android/build.gradle里的依赖块:
    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        // SUB-PROJECT DEPENDENCIES START
        debugCompile(project(path: "CordovaLib", configuration: "debug"))
        releaseCompile(project(path: "CordovaLib", configuration: "release"))
        compile "com.google.android.gms:play-services-base:11.0.4"
        compile "com.google.android.gms:play-services-ads:11.0.4"
        compile "com.google.firebase:firebase-core:11.0.4"
        compile "com.google.firebase:firebase-messaging:11.0.4"
        // SUB-PROJECT DEPENDENCIES END
    }
    

第二步:升级google-services插件版本

你的google-services插件版本太老,不支持11.x的Play Services版本,得把它升级到兼容的版本(比如3.1.2,这个版本完美适配11.x系列):
找到/platform/android/build.gradle里的buildscript部分,修改成这样:

buildscript {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3' // 和你Cordova Android 6.3.0匹配的gradle版本,别乱改
        classpath 'com.google.gms:google-services:3.1.2' // 升级到兼容11.x的google-services版本
    }
}

第三步:清理缓存重新构建

旧的构建缓存很容易搞事情,先清理干净再重新构建:

ionic cordova clean android
ionic cordova build android

第四步:如果还遇到多Dex错误,开启多Dex支持

要是上面几步做完还是弹出Multiple dex files define的错误,那就是方法数超过了Android的限制,开启多Dex就能解决:

  • 在/platform/android/build.gradle的android节点里添加:
    android {
        defaultConfig {
            multiDexEnabled true
        }
    }
    
  • 同时在依赖块里加多Dex的依赖:
    dependencies {
        // 保留原来的所有依赖...
        compile 'com.android.support:multidex:1.0.3'
    }
    

为啥这么解决?

  • 你一开始的版本冲突,是因为用了+号让Firebase自动拉取最新版本,而google-services插件要求所有Google服务和Firebase的版本必须完全一致,而且插件本身的版本要能兼容这个版本号。
  • 直接降级到9.0.0之所以会触发多Dex问题,是因为你装的其他插件(比如条码扫描器)可能依赖了更高版本的Google服务,导致同一个类被多次打包,统一所有依赖的版本才是根治的办法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:35:04