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

Flutter打包APK后调用ImagePicker出现PlatformException异常

问题原因与解决方案

该问题属于Flutter Android端release包与debug包配置差异导致的典型异常,debug模式运行正常、release打包后报错可以按以下优先级逐一排查解决:

  • AndroidManifest.xml正式权限缺失
    debug模式下Flutter会自动注入部分临时权限用于调试,release包需要手动配置正式权限。打开android/app/src/main/AndroidManifest.xml,在manifest标签下(不要写在application标签内部)添加如下权限配置:
<!-- 相机调用权限 -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- 存储读写权限,适配Android 13以下版本 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<!-- Android 13及以上版本图片访问权限 -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
  • R8混淆规则缺失
    release打包默认开启代码混淆,未配置ImagePicker库的保留规则会导致库中类被误裁剪,触发平台异常。打开android/app/proguard-rules.pro文件,在末尾添加如下规则:
-keep class io.flutter.plugins.imagepicker.** { *; }
  • SDK版本不匹配
    检查android/app/build.gradle文件中的compileSdkVersion和targetSdkVersion,如果低于33建议升级到33及以上,匹配当前版本ImagePicker库的最低适配要求。
  • AndroidX配置缺失
    检查android/gradle.properties文件,确认存在以下配置:
android.useAndroidX=true
android.enableJetifier=true
  • 依赖版本过旧
    检查pubspec.yaml中image_picker的依赖版本,升级到官方最新稳定版即可覆盖已知的历史兼容性问题。

验证方法

所有配置修改完成后,执行flutter run --release直接在设备上运行release版本,可以在控制台输出完整的错误日志,方便定位剩余异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:24:04