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

Expo独立构建失败:Android资源编译错误及iOS图标问题咨询

我来帮你拆解这两个平台的问题,都是Expo构建图标/启动图时的常见坑:

iOS 端:「应用图标不能包含透明度」报错解决方案

别光看图标视觉上没有透明区域,系统检测的是图片的Alpha通道,按以下步骤排查:

  • 检查Alpha通道是否存在:
    • Mac用户用「预览」打开图标,点击顶部菜单「显示」→「显示检查器」,在「更多信息」面板查看「透明度」是否为「是」;
    • Windows/Photoshop用户,打开图片后查看「通道」面板,若有单独的Alpha通道,说明存在透明信息。
  • 导出时强制移除透明度:
    • Photoshop导出时选择「PNG-24」,取消勾选「透明度」选项;
    • 用「预览」导出时,勾选「消除透明度」,系统会自动把透明区域填充为白色(可自定义填充色)。
  • 命令行验证(可选):
    运行 pngcheck -v your-app-icon.png,若输出包含「has transparency」,说明确实存在透明通道,需重新处理图片。
Android 端::app:mergeProdKernelReleaseResources 构建失败解决方案

这个报错的核心是 shell_launch_background_image.png 不是有效的PNG文件,按以下顺序排查:

  • 确认文件本身是合法PNG:
    • 别把JPG/WebP等格式改后缀冒充PNG,这类文件没有PNG特有的文件头;
    • 用命令行验证文件头:运行 hexdump -n 8 shell_launch_background_image.png,正常PNG的前8字节应为 89 50 4E 47 0D 0A 1A 0A,不符合则重新导出正确的PNG。
  • 清理Expo构建缓存:
    • 本地开发时运行 expo r -c 重启项目并清除缓存;
    • 云构建时添加 --clear 参数:expo build:android --clear,强制重新生成Android shell app及资源文件。
  • 检查app.json配置正确性:
    确认 android.launchImage 字段指向的路径和文件名无空格、特殊字符,示例配置:
    "android": {
      "launchImage": "./assets/launch-background.png"
    }
    
  • 重新生成Android Shell App(若已Eject):
    若项目已Eject,删除本地 android 文件夹,重新运行 expo eject 生成干净的Shell App,再替换正确的启动图。

内容的提问来源于stack exchange,提问作者Muhammad Hamza Nisar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:04:22