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

如何在Expo SDK47的Android应用中修改通知图标?

Expo SDK 47 Android通知图标无法修改的问题

我正在使用Expo SDK 47开发应用,已经通过Expo Notifications库成功实现通知功能,但始终无法修改Android端的通知图标。我已经尝试了两种app.json配置方案,均未生效:

尝试过的配置方案

方案1:通过expo-notifications插件配置

{
  "expo": {
    "plugins": [
      [
        "expo-notifications",
        {
          "icon": "./assets/notification-icon.png",
          "color": "#FFFFFF"
        }
      ]
    ],
    // 其他配置项
  }
}

方案2:通过notification字段配置

{
  "expo": {
    "notification": {
      "icon": "./assets/notification-icon.png"
    },
    // 其他配置项
  }
}

由于项目中使用了需要原生代码的其他库,我是通过npx expo run:android命令直接在手机上编译运行应用的。

注:通知图标已按照要求制作,为96x96尺寸的灰度PNG图片。


解决方法

  1. 清理原生构建缓存
    用expo run:android构建时,原生缓存可能会导致新配置不生效,执行以下命令清理后重新构建:

    npx expo prebuild --clean
    rm -rf android/app/src/main/res/drawable-*/*notification*
    npx expo run:android
    
  2. 检查图标路径与命名

    • 确认./assets/notification-icon.png路径正确,文件确实存在于项目根目录的assets文件夹中。
    • Android对资源文件命名有要求,建议把图标重命名为notification_icon.png(用下划线代替连字符),同时修改配置中的路径为./assets/notification_icon.png。
  3. 手动添加多分辨率图标到原生目录
    自动配置失效时,可手动处理:

    • 生成对应分辨率的图标:mdpi(24x24)、hdpi(36x36)、xhdpi(48x48)、xxhdpi(72x72)、xxxhdpi(96x96)。
    • 将各分辨率图标分别放入android/app/src/main/res/drawable-[dpi]/目录,统一命名为ic_notification.png。
    • 修改app.json中的插件配置:
      [
        "expo-notifications",
        {
          "icon": "@drawable/ic_notification",
          "color": "#FFFFFF"
        }
      ]
      

    之后重新执行构建命令。

  4. 验证Manifest配置
    构建完成后,检查android/app/src/main/AndroidManifest.xml是否包含以下meta-data:

    <meta-data
      android:name="expo.modules.notifications.default_icon"
      android:resource="@drawable/ic_notification" />
    <meta-data
      android:name="expo.modules.notifications.default_color"
      android:value="#FFFFFF" />
    

    如果没有,说明配置未被正确注入,需重新执行npx expo prebuild再构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 10:02:17