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

Flutter3集成Mapbox导航Android S+报PendingIntent标志错误

根因定位

你之前排查WorkManager依赖的方向完全错误,本次崩溃和WorkManager、你的业务代码没有任何关系。
flutter_mapbox_navigation ^0.0.26 绑定的原生Mapbox Navigation SDK为旧版本,其内部com.mapbox.android.telemetry.AlarmSchedulerFlusher类创建广播PendingIntent时,未按Android 12(API31)及以上系统的强制要求添加FLAG_IMMUTABLE或FLAG_MUTABLE标志,直接触发系统抛出IllegalArgumentException,后续连锁导致MapboxTripNotification初始化失败、应用断开连接。

修复方案

按优先级从高到低选择即可:

  • 方案1:强制覆盖Mapbox Telemetry依赖版本(无需修改插件源码,推荐)
    Mapbox官方已在mapbox-android-telemetry:6.3.0版本修复该适配问题,直接在你项目的android/app/build.gradle的dependencies块中添加强制依赖配置,覆盖插件引入的有bug的旧版本库即可:
    dependencies {
        // 之前添加的work-runtime依赖可以保留,替换为稳定版即可,无需使用alpha版本
        implementation("androidx.work:work-runtime-ktx:2.7.1")
        // 强制使用修复了Android12适配问题的telemetry版本
        implementation("com.mapbox.mapboxsdk:mapbox-android-telemetry:6.3.0") {
            force = true
        }
    }
    
    配置完成后在项目根目录执行flutter clean清除构建缓存,重新打包安装即可正常运行。
  • 方案2:若方案1出现依赖冲突,修改本地缓存的插件源码
    1. 进入本地Pub缓存路径下的flutter_mapbox_navigation-0.0.26/android/目录,打开该目录下的build.gradle文件
    2. 在依赖配置中排除旧版本telemetry库,手动引入修复版本:
      implementation("com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.42.6") {
          exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-telemetry'
      }
      implementation "com.mapbox.mapboxsdk:mapbox-android-telemetry:6.3.0"
      
    3. 同样执行flutter clean后重新构建即可。
  • 方案3:临时调试兜底方案(不推荐用于正式上架包)
    将项目android/app/build.gradle中的targetSdkVersion从31及以上降到30,系统将不再强制校验PendingIntent的flag,可临时绕过崩溃,但该方案不符合国内主流应用商店targetSdkVersion >=31的上架要求,仅可用于本地开发调试。
注意事项
  • 每次修改依赖配置后必须执行flutter clean,否则旧构建缓存中残留的bug类仍会被打包进APK,导致修复不生效
  • 若修复后仍出现MapboxTripNotification相关的PendingIntent同类报错,可额外添加配置强制将com.mapbox.mapboxsdk:mapbox-android-navigation版本指定为0.42.7,该版本同步修复了通知模块的Android12适配问题
  • 无需反复切换work-runtime版本,该依赖与本次崩溃无关联

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 06:03:26