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

Android SDK 30下react-native-image-picker的launchImageLibrary启动异常问题

React Native 调用launchImageLibrary报错修复方案

1. 修复4.0.6版本下的selectionLimit报错

react-native-image-picker 4.x版本对API做了不兼容更新,selectionLimit参数从可选改为必填,需要在调用方法时显式声明该参数:

launchImageLibrary(
  {
    mediaType: 'photo',
    selectionLimit: 1, // 单选传1,多选传对应最大可选数量,无限制传0
    // 其余原有配置项保留
  },
  (response) => {
    // 原有回调逻辑
  }
)

2. 修复targetSdkVersion 30下的Activity error报错

该错误由Android 11(API 30)引入的包可见性限制导致,需要在应用清单中补充查询相册应用的权限声明:

  • 打开项目下/android/app/src/main/AndroidManifest.xml文件,在<manifest>根标签内(与<application>标签平级)添加如下配置:
<queries>
  <!-- 相册选图权限 -->
  <intent>
    <action android:name="android.intent.action.PICK" />
    <data android:mimeType="image/*" />
  </intent>
  <intent>
    <action android:name="android.intent.action.PICK" />
    <data android:mimeType="video/*" />
  </intent>
  <!-- 若同时使用拍照功能,需补充以下配置 -->
  <intent>
    <action android:name="android.media.action.IMAGE_CAPTURE" />
  </intent>
</queries>
  • 检查/android/build.gradle中的Android Gradle插件版本,必须高于3.5.4才能识别<queries>标签,版本过低需先升级插件
  • 配置完成后清除构建缓存重新运行:
    1. 执行cd android && ./gradlew clean清除安卓构建缓存
    2. 回到项目根目录执行npx react-native run-android重新安装应用测试

内容的提问来源于stack exchange,提问作者Ivan Kozlov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:45:03