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

Ionic3更新cli至3.20.0后编译APK报错:compileDebugJavaWithJavac失败

解决Ionic CLI升级后APK构建失败的NotificationCompat.Builder错误

我之前也碰到过一模一样的问题,其实这个错误的核心原因很明确:phonegap-plugin-push插件里的代码调用了NotificationCompat.Builder(Context, String)这个双参数构造器,但你的项目里的Android Support Library版本太低,不支持这个需要通知渠道ID的构造方法——而CLI从3.19.0升级到3.20.0后,间接改变了插件依赖或者项目的默认配置,导致这个不兼容问题暴露了出来。

下面是亲测有效的解决步骤:

步骤1:更新或指定兼容的push插件版本

先卸载现有的push插件,再安装一个适配通知渠道构造器的版本(比如v2.3.0及以上,这个版本能很好兼容Ionic 3和新的support库):

ionic cordova plugin remove phonegap-plugin-push
ionic cordova plugin add phonegap-plugin-push@2.3.0 --variable SENDER_ID="你的FCM发送者ID"

步骤2:强制指定Android Support Library版本

在项目根目录下创建或修改build-extras.gradle文件(没有的话直接新建),添加以下内容,强制使用支持通知渠道的support库版本(推荐27.1.1,稳定性拉满):

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '27.1.1'
            }
        }
    }
}

步骤3:清理并重新构建项目

最后清理项目缓存,重新添加Android平台并执行构建:

ionic cordova platform remove android
ionic cordova platform add android@7.1.4 # 这个版本和Ionic 3的兼容性极佳
ionic cordova clean android
ionic cordova build android

走完这些步骤,应该就能解决构造器参数不匹配的问题,顺利打出APK了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:23:08