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

Expo MediaLibrary报错:_ExponentMediaLibrary.default.MediaType未定义

解决expo-media-library导入即崩溃的问题

针对你遇到的仅导入expo-media-library就导致应用崩溃的问题,大概率是原生模块未正确集成到Dev Client中,以下是具体的排查和解决步骤:

  • 重新构建Dev Client:
    Expo Dev Client不会自动同步新安装的原生模块,安装expo-media-library后必须重新构建客户端才能让原生代码生效。执行以下命令:

    # 清理并重新生成原生项目文件
    npx expo prebuild --clean
    # 重新构建iOS客户端(根据平台选择)
    npx expo run:ios
    # 或重新构建Android客户端
    npx expo run:android
    
  • 校验依赖版本兼容性:
    检查package.json中expo和expo-media-library的版本是否匹配,不同的Expo SDK版本对应特定的expo-media-library版本,版本不兼容会导致原生模块加载失败。

  • 清除Metro缓存:
    缓存可能导致模块解析异常,执行命令清除缓存后重启项目:

    npx expo start --clear
    
  • 确认权限配置(可选但建议):
    虽然导入崩溃不是权限直接导致的,但提前配置好相册权限可以避免后续调用时出错。在app.json的expo.ios.infoPlist和expo.android.permissions中添加对应权限:

    {
      "expo": {
        "ios": {
          "infoPlist": {
            "NSPhotoLibraryAddUsageDescription": "需要访问相册以保存图片",
            "NSPhotoLibraryUsageDescription": "需要访问相册以读取图片"
          }
        },
        "android": {
          "permissions": [
            "android.permission.READ_EXTERNAL_STORAGE",
            "android.permission.WRITE_EXTERNAL_STORAGE"
          ]
        }
      }
    }
    

完成以上步骤后,重新导入expo-media-library应该就能正常运行了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:35:38