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

Expo构建Android AAB报错:drawable/splashscreen_logo未找到

Expo构建AAB报错:drawable/splashscreen_logo资源未找到

问题概述

本地运行React Native应用时启动页显示正常,但使用EAS构建AAB安装包时出现以下问题:

  • 资源com.kingsola2.isioma2:drawable/splashscreen_logo未找到,具体为ic_launcher_background.xml中引用该资源失败
  • 构建任务:app:processReleaseResources执行失败
  • 伴随警告:FileSystemFileProvider@android:authorities被标记为替换其他声明,但未找到对应声明
  • 修改app.json后出现该问题,恢复代码至初始状态仍无法解决

当前配置文件:

app.json

{
  "expo": {
    "name": "isioma3",
    "slug": "isioma3",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "userInterfaceStyle": "light",
    "newArchEnabled": true,
    "splash": {
      "image": "./assets/splash-icon.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#ffffff"
      },
      "package": "com.kingsola2.isioma3"
    },
    "web": {
      "favicon": "./assets/favicon.png"
    },
    "extra": {
      "eas": {
        "projectId": "e2b576"
      }
    },
    "owner": "kingsola2"
  }
}

eas.json

{
  "cli": {
    "version": ">= 13.2.3",
    "appVersionSource": "remote"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {
      "autoIncrement": true
    }
  },
  "submit": {
    "production": {}
  }
}

解决方案

1. 清理EAS构建缓存

Expo构建缓存可能残留旧的资源配置或包名信息,即使代码恢复也会影响构建:

eas build --clear-cache

2. 修正包名不一致问题

报错中引用的包名是com.kingsola2.isioma2,但当前app.json配置的是com.kingsola2.isioma3,这是核心问题:

  • 运行expo config确认当前生效的配置,确保android.package字段为com.kingsola2.isioma3
  • 检查Expo Dashboard中的项目配置,确认包名与本地配置一致
  • 若之前手动修改过包名,执行以下命令重新生成Android资源:
expo prebuild --clean

3. 清理本地Expo缓存

删除本地缓存目录,避免旧资源残留:

rm -rf .expo

4. 验证启动页资源

  • 确认./assets/splash-icon.png文件存在,且尺寸符合Expo要求(建议至少1200x1200像素)
  • 若资源无误,重新执行预构建命令生成标准化的Android drawable资源:
expo prebuild

5. 处理FileSystemFileProvider警告

该警告通常是缓存残留导致,完成上述步骤后会自动消失。若仍存在,可在app.json的android字段中添加以下配置(仅针对bare workflow):

"android": {
  // 其他配置...
  "manifest": {
    "application": {
      "provider": [
        {
          "android:name": "expo.modules.filesystem.FileSystemFileProvider",
          "android:authorities": "${applicationId}.expoview.filesystem",
          "android:exported": false,
          "android:grantUriPermissions": true,
          "meta-data": {
            "android:name": "android.support.FILE_PROVIDER_PATHS",
            "android:resource": "@xml/expo_file_provider_paths"
          }
        }
      ]
    }
  }
}

完成以上步骤后,重新执行eas build --platform android即可正常构建AAB包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:17:22