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

Expo独立Android应用通知图标无法显示 求排查指导

排查Expo Android推送通知图标显示异常的问题

针对你遇到的Expo独立Android应用推送通知图标显示为方块的问题,结合你已经尝试的操作,我整理了几个关键排查方向:

1. 严格遵循Android通知图标规范

Android系统对通知图标有硬性要求,这是最容易踩坑的点:

  • 必须是纯透明背景的单色(仅白色/透明)图标,灰度渐变或半透明都会导致系统渲染异常,显示为方块
  • 图标不能包含任何彩色元素,系统会根据状态栏的主题(深色/浅色)自动反转图标颜色
  • 建议使用矢量SVG文件生成符合要求的PNG,确保边缘清晰,没有模糊或灰度过渡

2. 检查图标路径与资源有效性

  • 确认app.json中的图标路径完全正确,比如./app_assets/icons/icon-48-gs.png是否存在于项目对应目录,Android对文件路径的大小写是敏感的,文件名或文件夹名大小写不匹配会导致资源加载失败
  • 尝试将图标移动到项目根目录的assets文件夹下,简化路径为./assets/notification-icon.png,减少路径引用出错的概率

3. 清理缓存并重新构建独立包

Expo的本地调试缓存和独立包的资源打包逻辑有差异,修改图标后可能需要:

  • 运行expo r -c清理本地缓存并重启项目
  • 使用eas build -p android重新构建Android独立安装包,因为调试模式下的资源加载和正式包不一致,很多时候调试时正常但正式包出问题

4. 验证图标本身的正确性

你尝试过多个图标但都无效,建议先验证图标是否符合要求:

  • 用图片编辑工具打开图标,确认背景是完全透明的,且图标内容是纯白色(无灰度)
  • 可以使用Android Studio的Image Asset Studio生成标准的通知图标,导出后替换到项目中

你的问题回顾

我开发了一款Expo独立Android和iOS应用,目前正在测试Android端推送通知。已在app.json中配置notification字段如下:

"notification":{ "icon": "./app_assets/icons/icon-48-gs.png", "color": "#000000" }

该图标为48×48带透明度的灰度图标,我也尝试过移除color属性,但状态栏和通知中仅显示白/浅灰/黑色方块。在Expo论坛看到有人用96×96图标解决了类似问题,但对我无效。我尝试过不同尺寸和风格的灰度/单色图标,但均未解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:16:40