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

Flutter Jitsi Meet Android发布后崩溃求助:无有效通知小图标报错

解决Jitsi会议通知无有效小图标导致的崩溃问题

报错核心为通知缺少有效小图标:

java.lang.IllegalArgumentException: Invalid notification (no valid small icon): Notification(channel=JitsiOngoingConferenceChannel shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0xa color=0x00000000 category=call actions=2 vis=PUBLIC)

以下是针对性解决方案:

  • 确认Manifest中的通知图标配置
    确保AndroidManifest.xml里配置了全局默认通知图标,Jitsi会优先调用该配置:

    <application ...>
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_icon"
            android:resource="@drawable/ic_notification" />
        <!-- 补充:Android O及以上系统需确保通知渠道已正确创建并关联图标 -->
    </application>
    

    注意@drawable/ic_notification对应的资源文件必须存在,且符合Android通知图标规范(建议使用白色透明背景的单色图标)。

  • 排查资源压缩/混淆问题
    即便ProGuard规则正常,资源压缩仍可能误删通知图标:

    1. 检查build.gradle的Release配置,若开启shrinkResources true,需在res/raw/keep.xml中添加规则保留图标资源:
      <resources xmlns:tools="http://schemas.android.com/tools"
          tools:keep="@drawable/ic_notification" />
      
    2. 可通过解压APK查看res/drawable目录,确认图标资源未被重命名或移除。
  • 手动指定Jitsi会议通知图标
    通过Jitsi API强制设置会议通知的小图标,避免依赖全局配置失效:

    JitsiMeetConferenceOptions defaultOptions = new JitsiMeetConferenceOptions.Builder()
        .setNotificationIcon(R.drawable.ic_notification)
        // 其他必要配置
        .build();
    JitsiMeet.setDefaultConferenceOptions(defaultOptions);
    

可能的诱因

此前Release包正常、部署后崩溃的常见原因:

  • 部署过程中开启了资源压缩但未保留通知图标
  • 升级Android SDK版本后,通知图标规范要求更严格
  • 全局通知图标配置被误修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 06:01:32