Android图库选择器/文件选择器

目前Android中比较流行的图库选择器,还有文件选择器的开源库有哪些,哪些是多年没更新的,哪些是经常有更新的。

我给你整理一份当前(2024--2026)Android 常见图库/文件选择器开源库全景,并重点区分:

  • 主流/仍活跃更新
  • ⚠️ 基本停更/不推荐新项目
  • 🔥 新趋势(官方/Compose/KMP)

同时我会结合你做 Android 开发(偏底层+性能)给出实际选型建议


一、目前最主流的图库选择器(Image / Media Picker)

✅ 1. PictureSelector(强烈推荐)

定位:国内外都很常用的"全功能"图库选择器

特点

  • 图片 / 视频 / 音频 全支持
  • 裁剪(uCrop)+ 压缩 + CameraX
  • 多选 / 预览 / 自定义 UI
  • 适配 Android 5.0+
  • 持续更新(3.x 版本仍在维护)

结论

👉 目前最成熟、功能最全的三方图库库之一


⚠️ 2. android-image-picker

曾经很火,但已经凉了

  • GitHub 已在 2025 年归档(停止维护)
  • 不再接受更新

👉 新项目不要用


⚠️ 3. Android-FilePicker

早期常用,但现在问题很多

  • 依赖 jCenter(已废弃)
  • scoped storage 兼容问题严重
  • Android 11+ 不可靠

👉 基本属于历史遗留库


🆕 4. ImagePickerAndroid

比较新的轻量方案

特点

  • 支持 Compose + XML
  • 支持 Base64、压缩等
  • Kotlin 新版本支持(Kotlin 2.x)

👉 适合:

  • 轻量需求
  • 不想引入大而全库

🆕 5. ImagePickerKMP

趋势型(KMP 跨平台)

特点

  • Android + iOS + Web
  • Compose Multiplatform
  • 内置裁剪 / 压缩 / EXIF

👉 适合:

  • 想做 跨平台统一代码

🧠 官方趋势(非常重要)

🔥 6. Android Photo Picker(未来主流)

Google 官方推荐:

  • 不需要存储权限
  • 符合 Google Play 政策
  • Compose / View 都支持

👉 趋势:

  • 以后所有 App 都要优先用它
  • 第三方库很多其实在"包装它"

二、文件选择器(File Picker)

✅ 1. FilePicker(推荐)

比较新的全能文件选择器

特点

  • 图片 / 视频 / 文档 / 相机
  • ActivityResult API
  • Kotlin + Jetpack 现代写法
  • 最近仍在更新(2025 还有 release)

👉 推荐指数:⭐⭐⭐⭐⭐


🆕 2. ComposeFilePicker

专门给 Compose 用

  • 支持所有文件类型
  • 自动适配 Android 11+ Photo Picker
  • UI 可定制

👉 Compose 项目优先考虑


⚠️ 3. EasyMediaPicker

  • 功能全(图片/视频/文件)
  • 但社区不活跃
  • 设计较旧

👉 可用但不推荐新项目


三、总结:哪些活跃?哪些凉了?

✅ 持续更新 / 推荐

状态
PictureSelector ⭐⭐⭐⭐⭐(最成熟)
FilePicker(ChochaNaresh) ⭐⭐⭐⭐
ComposeFilePicker ⭐⭐⭐⭐(新)
ImagePickerAndroid ⭐⭐⭐(轻量)
ImagePickerKMP ⭐⭐⭐⭐(趋势)
Android Photo Picker(官方) ⭐⭐⭐⭐⭐(未来)

⚠️ 已过时 / 不推荐

问题
android-image-picker(esafirm) ❌ 已归档
Android-FilePicker(DroidNinja) ❌ jCenter + 兼容问题
ChiliPhotoPicker ❌ 多年未更新

四、给你的实际选型建议(重点)

你是做 Android + 音视频 + 性能优化,我直接给你最实用建议:

🎯 场景 1:普通 App(推荐)

👉 PictureSelector + 官方 Photo Picker

  • 兼容老设备 → PictureSelector
  • 新设备 → Photo Picker

🎯 场景 2:极致性能 / 自己处理 YUV

👉 不要用第三方 UI picker

直接用:

  • ACTION_OPEN_DOCUMENT
  • MediaStore
  • Photo Picker

👉 原因:

  • 三方库 = UI + IO + Bitmap decode(你用不上)
  • 你要的是 原始数据流

🎯 场景 3:Compose 项目

👉 选:

  • ComposeFilePicker
  • 或官方 Photo Picker

🎯 场景 4:跨平台(未来趋势)

👉 ImagePickerKMP


五、一个重要趋势(你必须知道)

👉 Google 正在"强推":

  • Photo Picker(无权限)
  • 限制 READ_MEDIA_*

👉 Reddit 开发者反馈:

使用旧权限可能被 Play Store 拒绝


六、结论(一句话)

👉 现在的方向已经很明确:

  • 旧库:逐渐淘汰
  • 新项目:
    优先用官方 Photo Picker + 少量增强库

如果你要更深入

我可以帮你整理一份:

👉「从系统 API 到自定义 picker(含 YUV/视频流)完整方案

或者帮你选:

👉「适合你当前 IM/视频监控项目的最优方案」